Python多线程中join方法有什么用?详解join方法

在python之中实现多线程的最基础方法就是使用threading模块,而在使用threading模块实现多线程的最后都会去代用一个join方法,这个join方法的作用和很多小伙伴都不知道 。那么下面这一篇文章就会来详细的解析一下多线程中join方法的作用,往下看看吧 。

Python多线程中join方法有什么用?详解join方法

文章插图
使用它threading模块去创建多线程的时候会分出主线程和子线程,主线程指的就是一个函数或者是一个语句块,而子线程则指的是主线程之中具体去执行某些功能的代码块 。以一个简单的示例来看,如下所示:
import threadingimport timedef run():    time.sleep(2)    print('当前线程的名字是: ', threading.current_thread().name)    time.sleep(2)if __name__ == '__main__':    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.setDaemon(True)        t.start()    for t in thread_list:        t.join()    print('主线程结束了!' , threading.current_thread().name)print('一共用时:', time.time()-start_time)在上面的示例之中if下面的每一个for循环就相当于是一个子线程,而主线程则是当前正在执行的if语句块 。在这个语句块之中按照顺序去执行每一个代码块的时候可以看到它们之间执行的速度是不同的,但是在多线程之中它们会同时执行 。那么执行速度代码块就可能会在主程序执行完毕之后,子线程还没执行完 。
那么join方法的作用就是对所有的线程进行同步,当主线程if执行完毕后就将其堵塞住暂时不释放资源,直到所有的子线程执行完毕之后才是释放资源 。
【Python多线程中join方法有什么用?详解join方法】以上就是关于python多线程中join()方法的详细解析了,希望对你有所帮助 。

    推荐阅读