zoukankan      html  css  js  c++  java
  • python线程——创建和启动

    可以通过实例化一个threading.Thread()对象来创建子线程。

    import threading
    import time
    
    
    def listen_music(num):
        print("----> %d" % num)
        print("begin to listen music at ", time.ctime())
        time.sleep(5)
        print("end to listen music at ", time.ctime())
    
    
    if __name__ == '__main__':
    
        t1 = threading.Thread(target=listen_music, args=(13,))
    
        t1.start()
    
        print("Two things is end....")
    

      其中通过

    t1 = threading.Thread(target=listen_music, args=(13,))
    

      这句代码,创建了一个子线程。target参数是该线程要执行的函数;args参数需要传入一个元组,该元组是函数运行需要的实参。

    t1.start() 启动线程;但实际上start()方法只是让线程处于就绪状态,即可以被计算机的CPU切换到该线程并执行。

    运行结果如下:

    ----> 13
    listening is end.... # 主线程执行的语句
    begin to listen music at  Tue Mar 19 22:03:36 2019 # 子线程开始的语句
    end to listen music at  Tue Mar 19 22:03:41 2019 # 子线程结束的语句

    其中可以看到,主线程主要执行了主函数中的最后一句打印;子线程与主线程同时开始,但time.sleep(10)让子线程休眠了10秒,在主线程结束后10秒,子线程才会结束。

  • 相关阅读:
    K8s--09 编写mysql的持久化deployment
    K8s--08 prometheus监控
    K8s--07 configMap资源
    K8s--06 K8s数据持久化
    k8S--05 K8s控制器类型
    k8s--04 部署harbor作为k8s镜像仓库
    K8s--03 资源类型
    K8s--02 K8S部署
    K8s--01 Kubernetes简介
    video2gift环境安装(Theano等)
  • 原文地址:https://www.cnblogs.com/guyexiangyun/p/10561775.html
Copyright © 2011-2022 走看看