python3多线程并发,python3多线程threading
多线程类似于同时执行多个不同程序,多线程运行有如下优点:(推荐学习:web前端视频教程)
使用线程可以将程序中占用很长时间的任务放到后台处理。
用户界面可以更有吸引力。例如,用户点击一个按钮来触发某些事件的处理,可以弹出一个进度条来显示处理进度。
可以加快程序的运行速度。
线程在一些等待任务的实现上更有用,比如用户输入、文件读写、网络数据收发等。在这种情况下,我们可以释放一些宝贵的资源如内存占用等等。
每个独立的线程都有一个程序运行的入口、一个顺序执行序列和一个程序出口。但是线程不能独立执行,所以必须由应用程序提供的多个线程来控制。
每个线程都有自己的一组CPU寄存器,称为线程的上下文。这个上下文反映了上一次线程的CPU寄存器的状态。
指令指针和堆栈指针寄存器是线程上下文中最重要的两个寄存器,线程总是在进程get上下文中运行。这些地址用于标记拥有该线程的进程的地址空间中的内存。
线程可以被抢占(中断)。
当其他线程正在运行时,线程可以暂停(也称为睡眠)——这是线程的特权。
线程可以分为:
内核:由操作系统的内核创建和撤销。
用户线程:在没有内核支持的用户程序中实现的线程。
Python3 线程中常用的两个模块为:
_线程
穿线(推荐)
线程模块已被放弃。用户可以使用线程模块来代替。因此,Python3中不能再使用“线程”模块。为了兼容,Python3将thread重命名为 _thread 。
开始学习Python线程
在Python中有两种使用线程的方法:函数或者用类包装线程对象。
函数:调用_thread模块中的start _ new _thread()函数,生成一个新线程。语法如下:
_ thread . start _ new _ thread(function,args [,kwargs])参数描述3360
函数-线程函数。
args-传递给线程函数的参数。它必须是元组类型。
kwargs-可选参数。
示例:
#!/usr/bin/python3
导入线程
导入时间
#为线程定义一个函数
def print_time(线程名,延迟):
计数=0
当计数5:时
time.sleep(延迟)
计数=1
打印( %s: %s % (threadName,time.ctime(time.time()))
#创建两个线程
尝试:
_ Thread . start _ new _ Thread(print _ time,( Thread-1 ,2,) )
_ Thread . start _ new _ Thread(print _ time,( Thread-2 ,4,) )
例外:
打印(“错误:无法启动线程”)
而1:
以上是python3多线程的详细内容。如需了解更多信息,请关注流行的IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。