介绍
这篇文章将为大家详细讲解有python关进程与线程的分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
传统方式是调用2个方法执行1个任务,方法按顺序依次执行
#, - *安康;编码:utf-8 - * - import 线程 import 时间 def 运行(n): 打印才能(& # 39;任务# 39;,n) time . sleep(3)才能 if __name__ ==, & # 39; __main__ # 39;: 运行才能(& # 39;t1 # 39;) 运行才能(& # 39;t2 # 39;)
<强>多线程例子强>
2个线程同时并发执行1个任务
#, - *安康;编码:utf-8 - * - import 线程 import 时间 def 运行(n): 打印才能(& # 39;任务# 39;,n) time . sleep(3)才能 if __name__ ==, & # 39; __main__ # 39;: t1=才能threading.Thread(目标=运行,args=(& # 39; t1 # 39;,)) t2才能=threading.Thread(目标=运行,参数=(& # 39;t2 # 39;,)) t1.start才能() t2.start才能()
自己写一个类继承继承线程。线程
#, - *安康;编码:utf-8 - * - import 线程 import 时间 class MyThread (threading.Thread): def 才能__init__(自我,n): ,,,超级(MyThread,自我). __init__ () ,,,self.n=n #这才能里面默认就有一个运行方法 def 才能运行(自我): ,,,print (& # 39; runing 任务# 39;,self.n) if __name__ ==, & # 39; __main__ # 39;: #才能在主方法通过对象调用线程 t1=才能MyThread (& # 39; t1 # 39;) t2才能=MyThread (& # 39; t2 # 39;) t1.run才能() t2.run才能()
使用的循环启动多个线程
#, - *安康;编码:utf-8 - * - import 线程 import 时间 def 运行(n): 打印才能(& # 39;任务# 39;,n) time . sleep(3)才能 if __name__ ==, & # 39; __main__ # 39;: for 才能小姐:拷贝范围(10): ,,,t=threading.Thread(目标=运行,args=(& # 39; t - % & # 39; %我,)) ,,,t.start ()
等多线程同时执行完后,再执行其它代码,因为线程是与其它代码一起运行的
#, - *安康;编码:utf-8 - * - import 线程 import 时间 def 运行(n): 打印才能(& # 39;任务# 39;,n) time . sleep(3)才能 if __name__ ==, & # 39; __main__ # 39;: time_start才能=time.time () #才能定义一个空列表装线程t实例 t_objects才能=[] for 才能小姐:拷贝范围(10): ,,,t=threading.Thread(目标=运行,args=(& # 39; t - % & # 39; %我,)) ,,,t.start () ,,,t_objects.append (t) #,才能等所有线程执行完后,再执行下面的代码 #才能,因为线程与下面的代码是同时运行的 #才能,要想先等线程执行完毕再执行其它代码 #,才能使用加入()方法进行阻塞 #才能在这里统一结束所有t线程 for 才能小姐:拷贝t_objects: ,,,t.join () time_end才能=time.time () 太阳才能=time_end-time_start 打印才能(太阳)
关于python进程与线程的分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。