zoukankan      html  css  js  c++  java
  • Python--day41--thread1.join()

    在 Python 的多线程编程中,在实例代码中经常有 thread1.join()这样的代码。那么今天咱们用实际代码来解释一下 join 函数的作用。

    join的原理就是依次检验线程池中的线程是否结束,没有结束就阻塞直到线程结束,如果结束则跳转执行下一个线程的join函数。

    先看看这个:

    1. 阻塞主进程,专注于执行多线程中的程序。

    2. 多线程多join的情况下,依次执行各线程的join方法,前头一个结束了才能执行后面一个。

    3. 无参数,则等待到该线程结束,才开始执行下一个线程的join。

    4. 参数timeout为线程的阻塞时间,如 timeout=2 就是罩着这个线程2s 以后,就不管他了,继续执行下面的代码。

    代码示例:

    复制代码
    # coding: utf-8
    # 测试多线程中join的功能
    import threading, time  
    def doWaiting():  
        print 'start waiting1: ' + time.strftime('%H:%M:%S') + "
    "  
        time.sleep(3)  
        print 'stop waiting1: ' + time.strftime('%H:%M:%S') + "
    " 
    def doWaiting1():  
        print 'start waiting2: ' + time.strftime('%H:%M:%S') + "
    "   
        time.sleep(8)  
        print 'stop waiting2: ', time.strftime('%H:%M:%S') + "
    "  
    tsk = []    
    thread1 = threading.Thread(target = doWaiting)  
    thread1.start()  
    tsk.append(thread1)
    thread2 = threading.Thread(target = doWaiting1)  
    thread2.start()  
    tsk.append(thread2)
    print 'start join: ' + time.strftime('%H:%M:%S') + "
    "   
    for tt in tsk:
        tt.join()
    print 'end join: ' + time.strftime('%H:%M:%S') + "
    "
  • 相关阅读:
    PHP 的 序列化与反序列化 自己的理解
    通达OA 11.6 rce漏洞复现
    MySQL 表字段唯一性约束设置方法unique
    HTTP响应状态码
    PHP 魔术变量
    PHP匿名函数使用技巧
    PHP 三大结构
    PHP unset()函数销毁变量
    算法第五章作业
    算法第四章作业
  • 原文地址:https://www.cnblogs.com/xudj/p/10345703.html
Copyright © 2011-2022 走看看