python多线程编程
来源:互联网 发布:中国前三季度经济数据 编辑:程序博客网 时间:2024/04/23 22:09
Python代码代码的执行由python虚拟机(也叫解释器主循环)来控制。Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但任意时候,只有一个程序在CPU中运行。同样,虽然python解释器可以“运行”多个线程,但在任意时刻,只有一个线程在解释器中运行。
from time import sleep,ctime
def loop0():
def loop1():
def main():
if __name__=='__main__':
运行结果:
>>>
starting at: Mon Aug 31 10:27:23 2009
start loop 0 at: Mon Aug 31 10:27:23 2009
loop 0 done at: Mon Aug 31 10:27:27 2009
start loop 1 at: Mon Aug 31 10:27:27 2009
loop 1 done at: Mon Aug 31 10:27:29 2009
all DONE at: Mon Aug 31 10:27:29 2009
>>>
可以看到单线程中的两个循环, 只有一个循环结束后另一个才开始。
Python中的多线程模块:thread,threading,Queue。
1
from time import sleep,ctime
import thread
def loop0():
def loop1():
def main():
if __name__=='__main__':
运行结果:
>>>
starting at: Mon Aug 31 11:04:39 2009
start loop 0 at: Mon Aug 31 11:04:39 2009
start loop 1 at: Mon Aug 31 11:04:39 2009
loop 1 done at: Mon Aug 31 11:04:41 2009
loop 0 done at: Mon Aug 31 11:04:43 2009
all DONE at: Mon Aug 31 11:04:45 2009
>>>
可以看到实际是运行了4秒两个loop就完成了。效率确实提高了。
2 threading模块
import threading
from time import sleep,ctime
loops=[4,2]
def loop(nloop,nsec):
def main():
if __name__=='__main__':
另外的例子:(方法二:创建一个实例,传递一个可调用的类的对象)
import threading
from time import sleep,ctime
loops=[4,2]
class ThreadFunc(object):
def loop(nloop,nsec):
def main():
if __name__=='__main__':
最后的方法:(方法三:创建一个这个子类的实例)
import threading
from time import sleep,ctime
loops=(4,2)
class MyThread(threading.Thread):
def loop(nloop,nsec):
def main():
if __name__=='__main__':
另外我们可以把MyThread单独编成一个脚本模块,然后我们可以在别的程序里导入这个模块直接使用。
- Python多线程编程
- Python多线程编程
- Python多线程编程
- python 多线程编程
- python 多线程编程
- zt:python多线程编程
- Python多线程编程
- Python多线程编程
- Python多线程编程
- Python多线程编程
- python 多线程编程
- python 多线程编程
- python sqlite多线程编程
- python 多线程编程
- python多线程编程
- python多线程编程
- python 多线程编程
- python多线程编程
- 网站推广应有的心态
- TCP校验和详细讲解和计算
- 群赛53
- vs2005 应用程序正常初始化失败的解决方案
- ios界面元素尺寸
- python多线程编程
- C语言 内存中结构体字节对齐
- MyEclipse,Eclipse项目工程出现感叹号或者无故项目报错
- 一步一步的学习android应用开发到系统底层开发之android开发层次及所需技术
- Smarclient框架Datasource与服务端交互数据格式
- 进程调度模拟
- PHP上传文件大小限制
- auto_ptr智能指针
- Linux服务器ping不通域名