python多线程编程 编程中什么时候使用多线程
python多线程编程
python为什么多线程不并行?
编程中什么时候使用多线程
1. GIL是什么?
??GIL的全称是Global Interpreter Lock(全局解释器锁),来源为python为了数据安全,设计之初的考虑做出了决定。
2. 每个CPU同时只能执行一个线程
??在单核CPU事实上,下多线程只是并发的,而不是并行的。从宏观上讲,并发和并行是同时处理多路请求的概念。然而,并发和并行是不同的。并发是指两个或多个事件同时发生;并发是指两个或多个事件在同一时间间隔内发生。1、过程过程是程序资源分配的最小单元;一个程序可以有多个过程,但只有一个主要过程;该过程由程序、数据集和控制器组成。
二、线程线程是程序最小的执行单元;一个过程可以有多个线程,但只有一个主线程;线程切换有两种:一种是I/O一种是时间切换,一种是时间切换(I/O切换:一旦运行I/O线程切换在任务中进行,CPU开始切换其他线程时间:一旦到了一定时间,线程也会切换,CPU开始执行其他线程)。
有需要Python学习资料的朋友吗?小编整理了一套python资料和PDF,感兴趣的人可以关注小编后的私信学习资料(是关注后的私信哦)反正闲着也是闲着的,不如学点东西
总结一个程序至少有一个过程和一个线程;
程序的工作方式:
考虑到实现的复杂性,单进程单线程进程多线程的工作模式;
第四,为什么要用多线程?在现实生活中,我们希望在浏览网页、听音乐和玩游戏的同时。这个时候,如果只开一个过程,为了满足需求,CPU只能快速切换过程,但切换过程会造成大量资源浪费。因此,如果是多核CPU,多个过程可以同时运行,而无需切换过程。然而,在实践中,例如:
当你玩游戏时,计算机需要显示游戏的动态,同时你必须与你的同伴交流语音或语言。此时,如果是单线程的工作模式,在操作游戏时将无法与同伴沟通,在与同伴沟通时也无法操作游戏。为了解决这个问题,我们可以打开多线程来共享游戏资源,同时进行游戏操作和沟通。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。