博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python线程——创建和启动
阅读量:6853 次
发布时间:2019-06-26

本文共 864 字,大约阅读时间需要 2 分钟。

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

import threadingimport timedef 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切换到该线程并执行。

运行结果如下:

----> 13listening 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秒,子线程才会结束。

转载于:https://www.cnblogs.com/guyexiangyun/p/10561775.html

你可能感兴趣的文章
常用的敏捷测试工具
查看>>
JavaEE程序员必读图书大推
查看>>
CKEditor使用配置
查看>>
变频电源与变频器不同浅释
查看>>
利用HTML5将摄像头视频流转换成ascii码流,通过websocket实时传输给其它浏览器展示。...
查看>>
运维之道:16 张图片带你 1 小时学会 Ansible
查看>>
分享:IT管理员都喜欢用的Outlook超大附件系统
查看>>
objective-c设计模式之---单例
查看>>
golang读取json格式的天气预报
查看>>
每周一书《大数据搜索引擎原理分析及编程实现》分享!
查看>>
【网优谷】如何快速写出有吸引力的网站标题?
查看>>
Linux运维之lLinux文件系统及文件类型
查看>>
网站SEO优化过程中什么样的文章容易被秒收
查看>>
stata初学者常用命令语
查看>>
tomcat的安装
查看>>
深入理解并行编程4
查看>>
Internet Connection speeds
查看>>
puppet运维自动化之puppet模块示例
查看>>
如何让云×××:VIS Creator 带给您一个市场领先的私有云管理平台
查看>>
获取各个ISP运营商IP地址修正版[菜鸟级]
查看>>