扣丁学堂Python培训分享Python进程与线程知识小结

Python开发语言现在已经是被大家非常看中的编程语言了,本篇文章扣丁学堂Python培训小编给读者们分享一下Python进程与线程知识小结,本篇文章具有一定的参考借鉴价值,感兴趣的小伙伴来了解一下吧,希望对小伙伴们有帮助。

扣丁学堂Python培训分享Python进程与线程知识小结

扣丁学堂Python培训

传统方式是调用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_objects=[]
 for i in range(10):
 t=threading.Thread(target=run,args=('t-%s'%i,))
 t.start()
 t_objects.append(t)
 # 等所有线程执行完后,再执行下面的代码
 # 因为线程与下面的代码是同时运行的
 # 要想先等线程执行完毕再执行其它代码
 # 使用join()方法进行阻塞
 #在这里统一结束所有t线程
 for i in t_objects:
 t.join()
 time_end=time.time()
 sun=time_end-time_start
 print(sun)

最后想要了解更多关于Python和人工智能方面内容的小伙伴,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Python开发环境搭建视频,Python培训后的前景无限,行业薪资和未来的发展会越来越好的,扣丁学堂老师精心推出的Python视频教程定能让你快速掌握Python从入门到精通开发实战技能。

Pyhon基础课程:https://ke.qq.com/course/327534?flowToken=1008607 【扫码进入Python全栈开发免费公开课】

注:点击(了解更多)进入课程直播间

相关推荐