zoukankan      html  css  js  c++  java
  • 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")
  • 相关阅读:
    IDEA 使用镜像快速创建SpringBoot项目
    ajax基础学习笔记
    GitHub高效搜索
    MVC收藏的实现
    一个显示界面
    R-MS
    MS-API。AJAS
    MS-MVCAJAS 秒杀的添加功能吧
    真-API控制器AJAS
    真-API.DALBLL.AJAS/// 添加/// 绑定分类/// 显示,查询/// 删除//删除/// 反填/// 修改
  • 原文地址:https://www.cnblogs.com/aniuzaixian/p/8116365.html
Copyright © 2011-2022 走看看