Python多线程中的join函数的使用与含义

join函数用的有几种,这里介绍的是在线程,进程处的使用规则。

简单的含义如下:

A 线程正在运行,当B线程进行Join操作后,A线程会被阻断,进入等待队列。

B线程执行,当B线程执行完毕后,B线程的资源收回,A线程进去执行队列。

A线程继续进行执行。


例子代码:

__author__ = '杨鑫'
import threading, time
def doWaiting1():
    print ('start waiting1:' + time.strftime('%H:%M:%S') + '\n')
    time.sleep(3)
    print ('stop waiting1:' + time.strftime('%H:%M:%S') + '\n')

def doWaiting2():
    print ('start waiting2:' + time.strftime('%H:%M:%S') + '\n')
    time.sleep(8)
    print ('stop waiting2:' + time.strftime('%H:%M:%S') + '\n')

task = []
thread1 = threading.Thread(target=doWaiting1)
thread1.start()
task.append(thread1)

thread2 = threading.Thread(target=doWaiting2)
thread2.start()
task.append(thread2)

print ('start join:' + time.strftime('%H:%M:%S') + '\n')
for t in task:
    t.join()

print ('end join:' + time.strftime('%H:%M:%S') + '\n')





你可能感兴趣的:(Python多线程中的join函数的使用与含义)