多线程帮助你的程序更加高效、快速、全球最详细最适合基础的教程

多线程帮助你的程序更加高效、快速、全球最详细最适合基础的教程

首页枪战射击多线程更新时间:2024-06-07

多个线程类似于同时运行多个不同的程序,但具有以下优点 -在此所写文章做成笔记记录的形式,书写代码过程中难免取之互联网,有的是本人书写,推崇自己一些见解想法,在看文章之前呢,小编推荐一个企鹅群,群里分子非常踊跃交流经验遇坑问题,也有初学者交流讨论,群内整理了也整理了大量的PDF书籍和学习资料,程序员也很热心的帮助解决问题,还有讨论工作上的解决方案,非常好的学习交流地方!群内大概有好几千人了,喜欢python的朋友可以加入python群:526929231欢迎大家交流讨论各种奇技淫巧,一起快速成长


一个线程有一个开始,一个执行序列和一个结论。它有一个指令指针,用于跟踪当前正在运行的上下文中的哪个位置。

开始一个新的主题

要产生另一个线程,你需要调用线程模块中可用的以下方法-

这种方法调用可以在Linux和Windows中快速高效地创建新线程。

该方法调用立即返回,并且子线程开始并使用传递的参数列表调用函数。当函数返回时,线程终止。

在这里,参数是一个参数的元组; 使用一个空元组来调用函数而不传递任何参数。kwargs是一个关键字参数的可选字典。

当上面的代码被执行时,它会产生以下结果 -

虽然它对低级线程非常有效,但与新线程模块相比,线程模块非常有限。

该线程模块

Python 2.4中包含的新线程模块为线程提供了比上一节讨论的线程模块更强大的高级支持。

该线程模块公开的所有方法的线程模块,并提供了一些额外的方法-

除了这些方法之外,线程模块还具有实现线程的Thread类。Thread类提供的方法如下 -

使用线程模块创建线程

要使用线程模块实现新的线程,您必须执行以下操作 -

一旦创建了新的Thread子类,就可以创建它的一个实例,然后通过调用start()来启动一个新的线程,start()又调用run()方法。

当上面的代码被执行时,它会产生以下结果 -

同步线程

Python提供的线程模块包含一个简单的实现锁定机制,允许您同步线程。通过调用Lock()方法创建一个新的锁,该方法返回新的锁。

新锁对象的acquire(blocking)方法用于强制线程同步运行。可选的阻塞参数使您可以控制线程是否等待获取锁定。

如果阻塞设置为0,则线程立即返回0值(如果无法获取锁定),如果锁定获取则返回1。如果阻塞设置为1,线程将阻塞并等待锁释放。

新锁对象的release()方法用于释放不再需要的锁。

当上面的代码被执行时,它会产生以下结果 -

多线程优先级队列

该队列模块允许你创建一个新的队列对象,可容纳物品的具体数量。有以下方法来控制队列 -

当上面的代码被执行时,它会产生以下结果 -

END

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved