The capability to detect edges in an image is a major component in the field of image processing. That being said one of the most commonly utilized methods for edge detection is the Canny edge detection algorithm. In this paper we outline and define what edge detection is in image processing, and how the Canny edge detector works in typical implementations. We briefly refer to other papers which have similarly looked into optimizing the Canny edge detector and then propose our own hypothesis on how to parallelize this algorithm via multithreading. Our current code implementation is then explained alongside current results and issues.