python进程与线程小结实例分析
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-01 15:12:49 浏览: 评论:0
本文通过实例代码分析了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)
Tags: python进程 python线程
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)