python学习系列之多线程
来源:互联网 发布:湖南省网络交易监管网 编辑:程序博客网 时间:2024/06/08 07:46
一.多线程学习
python提供了两个模块来实现多线程thread 和threading ,thread 有一些缺点,在threading 得到了弥补。所以我们直接学习threading即可。
- 创建线程:
t=threading.Thread(target=函数名,args=(u'',u'',...))
- 启动线程:
t.start()
二.threading的setDaemon、join的用法
1.t.setDaemon(True)
主线程A中,创建了子线程B,并且在主线程A中调用了B.setDaemon(True),这个的意思是,把主线程A设置为守护线程,这时候,要是主线程A执行结束了,就不管子线程B是否完成,一并和主线程A退出
2.t.join()
主线程A中,创建了子线程B,并且在主线程A中调用了B.join(),那么,主线程A会在调用的地方等待,直到子线程B完成操作后,才可以接着往下执行
注:join([timeout]) 里面的参数时可选的,代表线程运行的最大时间,即如果超过这个时间,不管这个此线程有没有执行完毕都会被回收,然后主线程或函数都会接着执行的。
import threadingfrom time import ctime,sleepdef music(name,age): for i in range(3): print "i was listening %s %s %s" %(name,age,ctime()) sleep(2)def move(address): for i in range(3): print "i was at %s %s" %(address,ctime()) sleep(5)threads=[]t1=threading.Thread(target=music,args=(u'love',u'age'))threads.append(t1)t2=threading.Thread(target=move,args=(u'shuyang',))threads.append(t2)if __name__=='__main__': for t in threads: t.setDaemon(True) t.start() print "all over %s" %ctime()
0 0
- python学习系列之多线程
- Python之多线程学习
- Python学习笔记之多线程
- python学习笔记之多线程
- Python学习之多线程编程
- C#学习系列之多线程传递参数
- python之多线程
- python之多线程2
- python之多线程
- python 之多线程编程
- Python并发之多线程
- Python之多线程
- Java学习之多线程
- Java学习之多线程
- 学习笔记之多线程
- 学习知识之多线程
- MFC之多线程学习
- java学习之多线程
- python 模块
- HDU 5412 CRB and Queries(区间第K大 树套树 按值建树)
- Cocos2d-x 之 八方向小摇杆
- Light oj 1019 - Brush (V)【最短路裸题】
- Hdu 2122
- python学习系列之多线程
- 初学软工——软件计划
- 使用hexo再github上搭建一个博客教程
- 还是畅通工程
- date - 显示、修改系统日期时间
- Java-集合框架
- 在 Debian 8 上安装 bcm43142 驱动
- MongoDB 3.0 for java (一、java连接MongoDB)
- HDU 5344 MZL's xor