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

Python中的线程

如何解决《Python中的线程》经验,为你挑选了2个好方法。

关于如何在Python中使用线程的一般教程或好资源?

何时使用线程,它们如何有效,以及线程的某些一般背景[特定于Python]?



1> davidfg4..:

当你想要一次运行两件事时,或者想要在后台运行某些东西而不减慢主进程的速度时,应该使用线程.
我建议只在必要时才使用线程.它们通常会增加程序的复杂性.
线程的主要文档在这里:http://docs.python.org/library/threading.html这里
有一些例子:
http://www.devshed.com/c/a/Python/Basic-Threading-in- Python/1/
http://linuxgazette.net/107/pai.html
http://www.wellho.net/solutions/python-python-threads-a-first-example.html



2> James Brady..:

在花费时间和精力编写多线程Python应用程序之前要记住的一件事是有一个全局解释器锁(GIL),所以你实际上不会一次运行多个线程.

这使得线程不适合尝试利用多个内核或CPU.您可以从多路复用其他资源(网络,磁盘......)中获得一些加速,但在我的经验中它从来没有特别明显.

通常,我只在一次发生几个逻辑上独立的任务时使用线程,但我希望它们都在同一个VM中.一个线程从Web中提取数据并将其放在Queue上,而另一个线程从Queue弹出并写入数据库,就像这样.

使用Python 2.6,有multiprocessing一个非常酷的新模块 - 它有一个非常类似于threading模块的接口,但实际上产生了新的操作系统进程,回避了GIL.

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