python 多线程的启动与阻塞
来源:互联网 发布:程序员 转行 投资 编辑:程序博客网 时间:2024/06/10 20:03
import threadingt1=threading.Thread(target=func,args=iterable)t2=threading.Thread(target=func,args=iterable)
创建一个新的进程很简单,func为想要进程执行的函数名,arg即为iterable
如func的参数为整数,传递参数的时候不能写成
t1=threading.Thread(target=func,args=3)
正确的写法为
#能用于for循环的即是iterablet1=threading.Thread(target=func,args=(3,))
启动线程
import timeimport threadingdef hold1(limit): i=0 while i<limit: i+=1 print(t1.name,"is runing") time.sleep(1) print(t1.name,"is over")def hold2(limit): i=0 while i<limit: i+=1 print(t2.name,"is runing") time.sleep(1) print(t2.name,"is over")start_time=time.time()t1=threading.Thread(target=hold1,args=(3,))t2=threading.Thread(target=hold2,args=(6,))t1.start()t2.start()print(threading.current_thread().name,"耗时",time.time()-start_time)
输出为:
Thread-1 is runing
Thread-2 is runing
MainThread 耗时 0.002000093460083008
Thread-1 is runing
Thread-2 is runing
Thread-1 is runing
Thread-2 is runing
Thread-1 is over
Thread-2 is runing
Thread-2 is runing
Thread-2 is runing
Thread-2 is over
可以看出主线程先于子线程结束,若要主线程等待子线程,则需要join()函数
在源代码的基础上,在t2.start()加入
t1.join()t2.join()
则输出结果为:
Thread-1 is runing
Thread-2 is runing
Thread-2 is runing
Thread-1 is runing
Thread-2 is runing
Thread-1 is runing
Thread-2 is runing
Thread-1 is over
Thread-2 is runing
Thread-2 is runing
Thread-2 is over
MainThread 耗时 6.003343343734741
阅读全文
0 0
- python 多线程的启动与阻塞
- Python中多线程的阻塞问题
- Python多线程中阻塞(join)与锁(Lock)的使用误区
- 多线程阻塞问题的监控与调试
- 2多线程的阻塞、唤醒与同步
- win32多线程非阻塞与阻塞
- python非阻塞启动进程
- Java多线程-阻塞与中断
- linux 下的多线程与用信号量阻塞
- 同步/异步与阻塞/非阻塞的区别--多线程编程基础
- 同步/异步与阻塞/非阻塞的区别--多线程编程基础
- 同步/异步与阻塞/非阻塞的区别--多线程编程基础
- python的安装与启动
- python网络编程之阻塞与非阻塞模式的选择
- Java-多线程的实现与启动
- 我之见--java多线程阻塞与非阻塞
- “单线程/多线程”与“同步/异步”还有“阻塞/非阻塞”
- 多线程之Java线程阻塞与唤醒
- 洛谷 P1023 税收与补贴问题 (2000NOIP提高组)
- 数组的粒度问题
- 内存对齐问题
- POJ2240汇率转化计算
- hihocoder 1049 : 后序遍历
- python 多线程的启动与阻塞
- jdbc操作sqlserver数据库
- Java设计模式学习——创建型
- ArrayBuffer中保存的Array被后面的覆盖
- hdu3639 Hawk-and-Chicken【强连通】
- 选择结构
- EA&UML日拱一卒-活动图::StartClassifierBehavior和StartObjectBehavior
- J2EE进阶之JSP和EL表达式 十二
- 【项目实战】自监控-06-DataFrame行列操作