"""阻塞进程的子进程之方法jion()"""
"""
在父进程中创建并启动子进程后,可以调用子进程的方法jion(),这样子进程就会把父进程
阻塞。父进程等子进程执行完后再被阻塞的地方继续执行。
在调用方法jion()时,可以指定参数timeout,设置阻塞时间
"""
from multiprocessing import current_process, Process
import time
class MyProcess(Process):
def run(self):
print(('子进程 %d启动' % current_process().pid))
time.sleep(2)
print(('子进程 %d结束' % current_process().pid))
def main():
print(('父进程 %d启动' % current_process().pid))
mp = MyProcess()
mp.start()
# 阻塞
# mp.join()
# 阻塞设定时间
mp.join(1)
#time.sleep(5)
print(('父进程 %d结束' % current_process().pid))
if __name__ == '__main__':
main()
#############################################################################
"""阻塞线程的子线程之方法jion()"""
"""
在父线程中创建并启动子线程后,可以调用子线程的方法jion(),这样子线程就会把父线程
阻塞。父线程等子线程执行完后再被阻塞的地方继续执行。
在调用方法jion()时,可以指定参数timeout,设置阻塞时间
"""
from threading import current_thread, Thread
import time
class Mythread(Thread):
def run(self):
print(('子线程 %s启动' % current_thread().getName()))
time.sleep(2)
print(('子线程 %s结束' % current_thread().getName()))
print(('父线程 %s启动' % current_thread().getName()))
mt = Mythread()
mt.start()
# 阻塞
#mt.join()
# 阻塞设定时间
mt.join(3)
print(('父线程 %s结束' % current_thread().getName()))