好程序员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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值