• python多线程实践


    python使用的线程:threading

    python多线程的主要函数:

    join() 用于等待线程终止。子线程完成运行之前,这个子线程的父线程将一直被阻塞。就是说先运行完被join的线程,再执行别的线程

    setDaemon() 将线程声明为守护线程,必须在start() 方法调用之前设置。就是说程序运行的时候不用考虑守护线程是否执行完成,整个程序就能结束。

    import time
    import threading
    
    
    def foo():
        Thread_name = threading.current_thread()
        for i in range(2):
            print('This Thread is %s,start时间是:%s' %(Thread_name,time.ctime()))
            time.sleep(2)
            print('This Thread is %s,stop时间是:%s' % (Thread_name,time.ctime()))
    
    def bar():
        Thread_name = threading.current_thread()
        for i in range(2):
            print('This Thread is %s,start时间是:%s' %(Thread_name,time.ctime()))
            time.sleep(3)
            print('This Thread is %s,stop时间是:%s' % (Thread_name, time.ctime()))
    
    def hello(args):
        print('测试线程传递参数,线程名称为:%s' % threading.current_thread())
        time.sleep(3)
        print('传递的参数是%s' % args)
    
    ThreadsList = []
    
    t1 = threading.Thread(target=foo)
    t2 = threading.Thread(target=bar)
    t3 = threading.Thread(target=hello,args=('测试',)) #后面的参数是元组的形式
    
    ThreadsList.append(t1)
    ThreadsList.append(t2)
    ThreadsList.append(t3)
    
    if __name__ == '__main__':
        
        for i in ThreadsList:
            i.setDaemon(True) ##守护线程,相当于不用等待t1,t2,t3执行完成就可以结束程序
            i.start()
            # i.join() #join优先保证这个线程执行完成,相当于保证t1,t2,t3都执行晚,再执行别的进程
        # i.join() #这个地方的i,相当于for循环中的t3
    
        print("This is main Thread")
  • 相关阅读:
    表达式和计算的描述
    表达式和计算的描述
    递归算法浅谈
    编程基本功训练:流程图画法及练习
    【2012.1.24更新】不要再在网上搜索eclipse的汉化包了!
    VS2008下直接安装使用Boost库1.46.1版本号
    android关键组件service服务(一)
    U盘安装咱中国人自己的操作系统UbuntuKylin14.04LST(超具体原创图文教程)
    数据流图的画法
    匈牙利算法
  • 原文地址:https://www.cnblogs.com/aniuzaixian/p/8116365.html
Copyright © 2020-2023  润新知