我是靠谱客的博主 爱撒娇雨,最近开发中收集的这篇文章主要介绍python多进程的join方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

查阅很多资料后,终于明白join的使用,有一个博主说的好,join的作用是:阻塞当前进程,直到调用join方法的进程结束,才会继续执行当前的进程

以下的例子便可以更加直观的感受join的作用。
(1)

import multiprocessing
import time

def write():
    for i in range(3):
        print("wtite...")
        time.sleep(1)

def read():
    for i in range(3):
        print("read...")
        time.sleep(1)

if __name__=='__main__':
    processList=[]
    process1=multiprocessing.Process(target=write)
    process2=multiprocessing.Process(target=read)

    processList.append(process1)
    processList.append(process2)

    process1.start()
    process2.start()
    
    #阻塞主进程,直到调用join方法的那个进程结束,才继续执行当前进程
    for i in processList:
        i.join()
        
    #以下的代码,需要等到process1和process2完成后才会继续执行
    print(processList)
    for i in range(2):
        print(i)

#cmd下的运行结果
C:UsersmyDesktoppython_file>python 23.py
wtite...
read...
wtite...
read...
wtite...
read...
[<Process(Process-1, stopped)>, <Process(Process-2, stopped)>]
0
1

(2)

import multiprocessing
import time

def write():
    for i in range(3):
        print("wtite...")
        time.sleep(1)

def read():
    for i in range(3):
        print("read...")
        time.sleep(1)

if __name__=='__main__':
    processList=[]
    process1=multiprocessing.Process(target=write)
    process2=multiprocessing.Process(target=read)

    processList.append(process1)
    processList.append(process2)

    process1.start()
    """process1调用join,阻塞了主进程,所有之后的代码
    会等process1完成后才会执行"""
    process1.join()

    """因为process2没有使用.join方法,所以开启process2后,主进程会继续执行。
    因为主进程比process2要快,所以process2没有结束时,主进程便已经结束了"""
    process2.start()
    
        
    #以下的代码,需要等到process1和process2完成后才会继续执行
    print(processList)
    for i in range(2):
        print(i)
#cmd下的运行结果
C:UsersmyDesktoppython_file>python 23.py
wtite...
wtite...
wtite...
[<Process(Process-1, stopped)>, <Process(Process-2, started)>]
0
1
read...
read...
read...

最后

以上就是爱撒娇雨为你收集整理的python多进程的join方法的全部内容,希望文章能够帮你解决python多进程的join方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部