php教程

超轻量级php框架startmvc

python进程与线程小结实例分析

更新时间:2020-03-31 11:48:34 作者:startmvc
传统方式是调用2个方法执行1个任务,方法按顺序依次执行#-*-coding:utf-8-*-importthreadingimporttim

传统方式是调用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进程与线程小结实例分析,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

php 进程和线程 php 进程 php 线程