当前位置:  开发笔记 > 编程语言 > 正文

在python中练习线程

如何解决《在python中练习线程》经验,为你挑选了1个好方法。

我知道Python有一个全局锁,我读过Glyph对python多线程的解释.但我还是想尝试一下.我决定做的一个简单(概念)任务是对图片进行水平和垂直边缘检测.

这是正在发生的事情(伪代码):

for pixels in picture:
    apply sobel operator horizontal
for pixels in picture:
    apply sobel operator vertical

关于索贝尔运营商的信息.

这两个循环可以完全相互独立地运行,因此是多线程的主要候选者.(在任何非常大的图片上运行这两个循环可能需要10秒以上).但是,当我尝试threading在python中使用该模块时,由于全局锁定,它需要两倍的时间.我的问题是,我是否应该放弃在python的两个线程中执行此操作并尝试使用其他语言的所有希望?如果我能够继续前进,我应该使用哪些模块?如果没有,我应该用什么语言进行实验?



1> Jay..:

Python 2.6中现在包括mulitprocessing模块(前身为处理在旧版本的Python模块).

它与线程模块具有基本相同的接口,但是将执行启动到单独的进程而不是线程.这使得Python可以利用多个内核/ CPU,并且与线程模块方法相比,可以很好地扩展CPU密集型任务.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有