美文网首页
python进程和线程中的join方法

python进程和线程中的join方法

作者: wisdom2018 | 来源:发表于2020-08-15 15:04 被阅读0次

python中创建进程的方式
一、Process(target=函数名,args=(),name,kwargs)
target:加进程调用的函数名,一般不加括号
name:进程的名字
kwargs:字典参数
args:元组参数,如果参数就一个,记得加逗号’,’

import threading
import time
from multiprocessing import Process
def sing():
   for i in range(1,5):
       print('正在场地%d首歌'%i)
       time.sleep(0.4)
def dance():
   for i in range(1,5):
       print('正在跳第%d场舞蹈'%i)
       time.sleep(0.4)

if __name__ == '__main__':
   p1=Process(target=sing,name='sing')
   p2=Process(target=dance,name='dance')
   p1.start()
   p2.start()
   dance()

Python多线程与多进程中join()方法的效果是相同的

join所完成的工作就是线程同步,即主线程任务结束之后,进入阻塞状态,一直等待其他的子线程执行结束之后,主线程再终止
import threading
import time

def run():
   time.sleep(2)
   print('当前线程的名字是: ', threading.current_thread().name)
   time.sleep(2)


start_time = time.time()

print('这是主线程:', threading.current_thread().name)
thread_list = []
for i in range(5):
   t = threading.Thread(target=run)
   thread_list.append(t)

for t in thread_list:
   t.start()

print('主线程结束!' , threading.current_thread().name)
print('一共用时:', time.time()-start_time)

相关文章

网友评论

      本文标题:python进程和线程中的join方法

      本文链接:https://www.haomeiwen.com/subject/yrjadktx.html