python多线程实现方式_python中实现多线程有几种方式?
我们都知道,代码编程不是固定的东西,而是非常灵活的内容,根据不同的内容,我们可以拓展出很多条内容,最终目的还是为了可以实现结果,给大家举例说明其中一个最常用的多线程吧~以及实现的几种方式。
1. 用函数创建多线程
在Python3中,Python提供了一个内置模块 threading.Thread,可以很方便地让我们创建多线程。
举个例子import time
from threading import Thread
# 自定义线程函数。
def target(name="Python"):
for i in range(2):
print("hello", name)
time.sleep(1)
# 创建线程01,不指定参数
thread_01 = Thread(target=target)
# 启动线程01
thread_01.start()
# 创建线程02,指定参数,注意逗号
thread_02 = Thread(target=target, args=("MING",))
# 启动线程02
thread_02.start()
可以看到输出hello Python
hello MING
hello Python
hello MING
2.用类创建多线程
相比较函数而言,使用类创建线程,会比较麻烦一点。
首先,我们要自定义一个类,对于这个类有两点要求,
l必须继承 threading.Thread 这个父类;
l必须复写 run 方法。
来看一下例子为了方便对比,run函数我复用上面的main。import time
from threading import Thread
class MyThread(Thread):
def __init__(self, type="Python"):
# 注意:super().__init__() 必须写
# 且最好写在第一行
super().__init__()
self.type=type
def run(self):
for i in range(2):
print("hello", self.type)
time.sleep(1)
if __name__ == '__main__':
# 创建线程01,不指定参数
thread_01 = MyT
hread()
# 创建线程02,指定参数
thread_02 = MyThread("MING")
thread_01.start()
thread_02.start()
当然结果也是一样的。hello Python
hello MING
hello Python
hello MING
3.线程对象的方法
上面介绍了当前 Python 中创建线程两种主要方法。# 如上所述,创建一个线程
t=Thread(target=func)
# 启动子线程
t.start()
# 阻塞子线程,待子线程结束后,再往下执行
t.join()
# 判断线程是否在执行状态,在执行返回True,否则返回False
t.is_alive()
t.isAlive()
# 设置线程是否随主线程退出而退出,默认为False
t.daemon = True
t.daemon = False
# 设置线程名
t.name = "My-Thread"
至此,Python线程基础知识,我们大概都介绍完了。感兴趣的小伙伴可以多浏览看下内容哦~如果还想知道更多的python知识,可以到python学习网进行查询。
python多线程实现方式_python中实现多线程有几种方式?相关推荐
- python导入图片数据_Python中读取图片的6种方式
Python进行图片处理,第一步就是读取图片,这里给大家整理了6种图片的读取方式,并将读取的图片装换成numpy.ndarray()格式.首先需要准备一张照片,假如你有女朋友的话,可以用女朋友的,没有 ...
- python字符串字面量有哪四种定义方式_python中字符串连接的四种方式
原博文 2018-12-05 14:28 − 以下实例展示了join()的使用方法 #!/usr/bin/python str = "-"; seq = ("a" ...
- python中函数参数传递的三种方式_python中函数参数传递的几种方法
转自 http://www.douban.com/note/13413855/ Python中函数参数的传递是通过"赋值"来传递的.但这条规则只回答了函数参数传递的"战 ...
- python 调用js类_Python 调用 JS 常用的4种方式,带你学会如何解密
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于AirPython ,作者星安果 1. 前言 日常 Web 端爬虫过 ...
- python网页结构分析图_Python爬虫解析网页的4种方式 值得收藏
用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情. 我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中, ...
- python多线程控制暂停_python中的多线程编程与暂停、播放音频的结合
我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦s ...
- python线程卡死问题解决_Python中的多线程:最后一个线程卡住了
我遇到了一个奇怪的情况,在经历了很多次试射后我还是搞不清楚.我使用多线程(10)来读取url(100),它在大多数情况下都能正常工作,但在某些情况下,它会在最后一个线程上卡住.我等待它看它是否返回,花 ...
- python中readlines是什么意思_Python中read,readline,readlines三种方式的区别
在用python读取文件的时经常用到三read.readline.readlines三种方法,它们功能实质区别如下: read 读取整个文件 readline 读取下一行 readl ...
- python 执行shell 事务_python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...
最新文章
- flash TweenMax用法
- c语言骑士游历优化算法,骑士游历、骑士巡游(C语言)课程设计.doc
- notes from《classification and regression trees》
- 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...
- rpc之使用httpserver实现tpc
- Python unittest –单元测试示例
- Mac天真答疑「6」mac系统使用技巧入门
- java添加多个按钮_java-向JFrame添加多个按钮,文本颜色不显示
- html5制作新年祝福,新年祝福视频制作教程
- 塑料制品生产的工艺流程
- 模块化编程的六大原则
- NIVIDIA 硬解码学习2
- keil5黑色主题配色方案
- mysql join 性能测试_Mysql Join语法解析与性能分析
- 香港银行开户失败的原因及应对方法 香港银行开户要求愈发严资者如果想在香港银行开户,需对香港银行开户政透彻的了解,这样才能确保开户的成功率。
- 学习juca:Striped64(1.8)
- 【渝粤教育】电大中专电子商务网站建设与维护 (2)_1作业 题库
- 基于AI的自动化处理
- windows无法格式化u盘_u盘无法格式化怎么办 DOS下u盘格式化方法【详解】
- ratingbar 的使用
热门文章
- 逆水寒7月19服务器维护,逆水寒7月19日更新维护公告 更新内容汇总
- cmdline常用参数
- 怎么卸载apowerrec_如何删除windows10自带应用
- 【Python】模块学习之ConfigParser读写配置信息
- Arch Linux下打不开gnome-shell
- Python调用C的方法
- 如果程序跑着跑着就崩溃了,查看内存
- windows phone 7 中文天气预报应用--来源http://www.cnblogs.com/liulunet/archive/2011/08/17/2141696.html...
- MySQL索引的一些问题
- 博主日常工作中使用的shell脚本分享