Python中,如何区分进程的join和is_alive方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计681个文字,预计阅读时间需要3分钟。
使用`join()`方法启动一个子进程,父进程将等待子进程结束。`join()`使得主进程暂停,直到子进程执行完毕。现象:主进程执行到此处,会阻塞等待子进程执行完毕。”
join 方法
开启一个正常的子进程,父进程会等待子进程结束后,父进程(程序)才结束。join()是让主进程等待子进程执行完。 现象:主进程执行到这句话,主进程阻塞住,等待子进程执行
如何把父进程和子进程之间的关系变为同步或者异步?父进程执行join,就会变成同步,不执行join,父进程和子进程就是异步的关系
join必须放在start()后边
没有join
from multiprocessing import Processfrom time import sleep
def func():
sleep(6)
print('这是儿子。。。')
if __name__ == '__main__':
p = Process(target=func)
p.start()
sleep(5)
print('这是老子。。。')
结果:
这是老子。。。这是儿子。。。
等5s执行这是老子。。。,在等1s执行这是儿子。。。
有join
from multiprocessing import Processfrom time import sleep
def func():
sleep(6)
print('这是儿子。。。
本文共计681个文字,预计阅读时间需要3分钟。
使用`join()`方法启动一个子进程,父进程将等待子进程结束。`join()`使得主进程暂停,直到子进程执行完毕。现象:主进程执行到此处,会阻塞等待子进程执行完毕。”
join 方法
开启一个正常的子进程,父进程会等待子进程结束后,父进程(程序)才结束。join()是让主进程等待子进程执行完。 现象:主进程执行到这句话,主进程阻塞住,等待子进程执行
如何把父进程和子进程之间的关系变为同步或者异步?父进程执行join,就会变成同步,不执行join,父进程和子进程就是异步的关系
join必须放在start()后边
没有join
from multiprocessing import Processfrom time import sleep
def func():
sleep(6)
print('这是儿子。。。')
if __name__ == '__main__':
p = Process(target=func)
p.start()
sleep(5)
print('这是老子。。。')
结果:
这是老子。。。这是儿子。。。
等5s执行这是老子。。。,在等1s执行这是儿子。。。
有join
from multiprocessing import Processfrom time import sleep
def func():
sleep(6)
print('这是儿子。。。

