我知道 Python 有一个全局锁,并且我已经阅读了 Glyph 对python multithreading的解释。但我还是想试试看。作为一项简单(概念上)的任务,我决定做的是对图片进行水平和垂直边缘检测。
这是正在发生的事情(伪代码):
for pixels in picture:
apply sobel operator horizontal
for pixels in picture:
apply sobel operator vertical
关于 sobel 运算符的信息。
这两个循环可以完全独立运行,因此是多线程的主要候选者。(在任何非常大的图片上运行这两个循环可能需要 10 多秒)。但是,当我尝试threading
在 python 中使用该模块时,由于全局锁,它需要两倍的时间。我的问题是我是否应该放弃在 python 的两个线程中执行此操作并尝试使用另一种语言的所有希望?如果我可以继续前进,我应该使用什么模块?如果不是,我应该尝试什么语言?