zoukankan      html  css  js  c++  java
  • PYTHON——多线程:Thread类与线程函数

    Thread类与线程函数

    可以使用Thread对象的join方法等待线程执行完毕;主线程(main()函数)中调用Thread对象的join方法,并且Thread对象的线程函数没有执行完毕,主线程会处于阻塞状态。
    使用Thread类实现多线程的步骤:
    1、创建Thread类的实例;
    2、通过Thread类的构造方法的target关键字参数执行线程函数;通过args关键字参数指定传给线程函数的参数。
    3、调用Thread对象的start方法启动线程。
    下面例子功能:使用Thread对象启动2个线程,并在各自的线程函数中使用sleep函数休眠一段时间。最后使用Thread对象的join方法等待两个线程函数都执行完毕后再推出程序。

    实例代码:

    import threading
    from time import sleep,ctime
    
    #线程函数,index表示整数类型的索引,sec表示休眠时间,单位:秒
    def fun(index,sec):
        print('开始执行',index,'时间:',ctime())
        sleep(sec)
        print('结束执行',index,'时间:',ctime())
    
    def main():
        #创建第一个Thread对象,通过target关键字参数指定线程函数fun,传入索引10和休眠时间4s
        thread1 = threading.Thread(target = fun,args = (10,4))
        #启动第一个线程
        thread1.start()
        #如上所述
        thread2 = threading.Thread(target=fun,args=(20,2))
        thread2.start()
        # 等待第一个线程thread1对象执行完毕
        thread1.join()
        # 等待第二个线程thread2对象执行完毕
        thread2.join()
    
    if __name__=='__main__':
        main()
        print('程序退出')
  • 相关阅读:
    六、Prototype 原型(创建型模式)
    七、Adapter 适配器(结构型模式)
    java weblogic 数据源 配置
    ExtJs便签
    js初步学习
    解决weblogic的oracle驱动问题
    ExtJs函数
    从一个空表中获取N条数据
    诡异的编码和字节长度
    SQL SERVER 中的日期时间
  • 原文地址:https://www.cnblogs.com/chenhaiming/p/9889947.html
Copyright © 2011-2022 走看看