传统方式是调用2个方法执行1个任务,方法按顺序依次执行
# -*- coding:utf-8 -*- import threading import time def run(n): print(\'task\',n) time.sleep(3) if __name__ == \'__main__\': run(\'t1\') run(\'t2\')
多线程例子
2个线程同时并发执行1个任务
# -*- coding:utf-8 -*- import threading import time def run(n): print(\'task\',n) time.sleep(3) if __name__ == \'__main__\': t1=threading.Thread(target=run,args=(\'t1\',)) t2=threading.Thread(target=run,args=(\'t2\',)) t1.start() t2.start()
自己写一个类继承继承threading.Thread
# -*- coding:utf-8 -*-
import threading
import time
class MyThread(threading.Thread):
def __init__(self,n):
super(MyThread,self).__init__()
self.n=n
#这里面默认就有一个run方法
def run(self):
print(\'runing task\',self.n)
if __name__ == \'__main__\':
#在主方法通过对象调用线程
t1=MyThread(\'t1\')
t2=MyThread(\'t2\')
t1.run()
t2.run()
使用for循环启动多个线程
# -*- coding:utf-8 -*-
import threading
import time
def run(n):
print(\'task\',n)
time.sleep(3)
if __name__ == \'__main__\':
for i in range(10):
t=threading.Thread(target=run,args=(\'t-%s\'%i,))
t.start()
等多线程同时执行完后,再执行其它代码,因为线程是与其它代码一起运行的
# -*- coding:utf-8 -*-
import threading
import time
def run(n):
print(\'task\',n)
time.sleep(3)
if __name__ == \'__main__\':
time_start=time.time()
#定义一个空列表装线程t实例
t_ s=[]
for i in range(10):
t=threading.Thread(target=run,args=(\'t-%s\'%i,))
t.start()
t_ s.append(t)
# 等所有线程执行完后,再执行下面的代码
# 因为线程与下面的代码是同时运行的
# 要想先等线程执行完毕再执行其它代码
# 使用join()方法进行阻塞
#在这里统一结束所有t线程
for i in t_ s:
t.join()
time_end=time.time()
sun=time_end-time_start
print(sun)
总结
以上所述是小编给大家介绍的python进程与线程小结实例分析,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
继续阅读与本文标签相同的文章
上一篇 :
语音识别技术也存在性别歧视
下一篇 :
报道:通用汽车希望租用您的车
-
豆瓣评分9.9!国内外口碑炸裂的强化学习圣经中文版终于来了!
2026-05-19栏目: 教程
-
免费公测 | 为互联网业务而生,阿里云全球首发云Cassandra服务!
2026-05-19栏目: 教程
-
看板的前世今生
2026-05-19栏目: 教程
-
ES6 iterator 和 generator
2026-05-19栏目: 教程
-
Git Diff中文乱码问题
2026-05-19栏目: 教程
