Python threading的使用方法解析


Posted in Python onAugust 28, 2019

一、 例子:我们对传参是有要求的必须传入一个元组,否则报错

import _thread as thread
import time
def loop1(in1):
  print("Start loop 1 at:", time.ctime())
print("我是参数", in1)
time.sleep(4)
print("End loop 1 at:", time.ctime())
def loop2(in1, in2):
  print("Start loop 2 at:", time.ctime())
print("我是参数", in1, "和参数 ", in2)
time.sleep(4)
print("End loop 1 at:", time.ctime())
def main():
  print("Starting at:", time.ctime())
thread.start_new_thread(loop1, ("liuming", ))
# 上面我们传参的时候, 我用的是:(“ liuming”), 这里面是没有逗号的, 结果编译报错, 告诉我, 这里面必须传入元组
# 因此, 我才在里面加了一个逗号, 使其变成一个元组
thread.start_new_thread(loop2, ("zhanglei", "liuhao"))
print("All done at:", time.ctime())
if __name__ == "__main__":
  main()
while True:
  time.sleep(10)
​

Python threading的使用方法解析

二、threading的使用

直接利用threading.Thread生成Thread的实例

格式:

t= threading.Thread(target=函数体,args=(,))#参数args要传递元组

​t.start()#启动多线程

t.join()#等待多线程执行完成

def main():
  print("Start at :", time.ctime())
t1 = threading.Thread(target = loop1, args = ("王老大", ))
t1.start()# 启动多线程
t2 = threading.Thread(target = loop2, args = ("孙子", "好吗"))
t2.start()
t1.join()
t2.join()
print("End at :", time.ctime())
if __name__ == "__main__":
  main()

Python threading的使用方法解析

从上面可以看出来,我们启动了两个线程,但是这两个线程执行完了才打印​最后一个结束语句。

2.守护线程

​格式:线程.setDaemon(True)

作用​:

(1)如果在程序中将子线程设置为守护线程,则子线程会在主线程结束的时候自动退出​;

(2)一般认为,守护线程不重要或者不允许脱离子线程而独立运行;

(3)守护线程能否有效果和环境有关系

注意点:该语句一定要写在start语句之前,否则就会把子程序无限时间挂起,运行报错,​如:

Python threading的使用方法解析

def fun():
  print("Start fun")
time.sleep(2)
print("End fun")
​print('Main thread')
t3 = threading.Thread(target = fun, args = ())
t3.setDaemon(True)
t3.start()
time.sleep(1)
print("Main thread End")

Python threading的使用方法解析

​解释:我们可以看出主线程结束后(即打印完了”Main thread End")后,我们的子线程的最后一个打印没有出来,程序就结束了,说明主线程结束,子线程无论执行到哪里都会被kill掉,和我们的预期一样。

三、源码

d24_2_usage_of_threading.py

地址:https://github.com/ruigege66/Python_learning/blob/master/d24_2_usage_of_threading.py

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
python文件操作相关知识点总结整理
Feb 22 Python
python 美化输出信息的实例
Oct 15 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
python如何实现数据的线性拟合
Jul 19 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
python双向链表原理与实现方法详解
Dec 03 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
Dec 10 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
如何Tkinter模块编写Python图形界面
Oct 14 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
Aug 28 #Python
Python logging设置和logger解析
Aug 28 #Python
Python shelve模块实现解析
Aug 28 #Python
解决python明明pip安装成功却找不到包的问题
Aug 28 #Python
Python 函数list&read&seek详解
Aug 28 #Python
Python collections模块使用方法详解
Aug 28 #Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 #Python
You might like
PHP分页显示制作详细讲解
2006/10/09 PHP
PHP生成短网址的3种方法代码实例
2014/07/08 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
vue组件 $children,$refs,$parent的使用详解
2017/07/31 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
Python实现抓取网页并且解析的实例
2014/09/20 Python
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
python os用法总结
2018/06/08 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
详解python解压压缩包的五种方法
2019/07/05 Python
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
介绍一下Make? 为什么使用make
2013/12/08 面试题
大学生志愿者感言
2014/01/15 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
应届生求职自荐信
2014/07/04 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
努力工作保证书
2015/02/28 职场文书
海上钢琴师观后感
2015/06/03 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书