python3多线程

Posted programmer123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3多线程相关的知识,希望对你有一定的参考价值。

技术图片

多线程类似于同时执行多个不同程序,多线程运行有如下优点:(推荐学习:web前端视频教程

使用线程可以把占据长时间的程序中的任务放到后台去处理。

用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。

程序的运行速度可能加快。

在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。

每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

每个线程都有他自己的一组CPU寄存器,称为线程的上下文,该上下文反映了线程上次运行该线程的CPU寄存器的状态。

指令指针和堆栈指针寄存器是线程上下文中两个最重要的寄存器,线程总是在进程得到上下文中运行的,这些地址都用于标志拥有线程的进程地址空间中的内存。

线程可以被抢占(中断)。

在其他线程正在运行时,线程可以暂时搁置(也称为睡眠) -- 这就是线程的退让。

线程可以分为:

内核线程:由操作系统内核创建和撤销。

用户线程:不需要内核支持而在用户程序中实现的线程。

Python3 线程中常用的两个模块为:

_thread

threading(推荐使用)

thread 模块已被废弃。用户可以使用 threading 模块代替。所以,在 Python3 中不能再使用"thread" 模块。为了兼容性,Python3 将 thread 重命名为 "_thread"。

开始学习Python线程

Python中使用线程有两种方式:函数或者用类来包装线程对象。

函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程。语法如下:                                                                                                  技术图片

参数说明:

function - 线程函数。

args - 传递给线程函数的参数,他必须是个tuple类型。

kwargs - 可选参数。

实例:                                                                                                                                                                                                                  技术图片                                                                                                                                                                                                                        以上就是python3多线程的详细内容

以上是关于python3多线程的主要内容,如果未能解决你的问题,请参考以下文章

Python3多线程_thread模块的应用

Python3 多线程

python3.7多线程代码不执行?

python3多线程应用详解(第三卷:图解多线程中join,守护线程应用)

[Python3] 043 多线程 简介

Python3多线程爬虫实例讲解