首页 >

python中的多线程和JAVA中的多线程有什么区别吗? |python3 经典例题入门

pc python,python写接口测试,python特殊地图,python爬虫专辑名称,python充值,libheap python,python 大冒险,python 交集符,python非黑屏,python 捕获屏幕,python3 经典例题入门python中的多线程和JAVA中的多线程有什么区别吗? |python3 经典例题入门

在解释器解释执行任何Python代码时,都需要先获得这把锁,也就是说在同一时刻内,只有一条线程可以在CPU中运行。

但是python的多线程并不是毫无用处的。当遇到I/O操作时会释放这把GIL锁,所以如果程序是一个IO密集型的程序,一个线程处在IO等待的时候另一个线程便可以取得锁并在CPU中运行,这时就发挥了多线程的作用。

但如果是纯计算的程序,没有I/O操作,那么只有取得GIL锁的线程可以在CPU中运行,其它的线程都处于等待状态,等待持有GIL锁的线程的释放锁,也就相当于单线程在跑(而且上下文切换也会有所开销)。

Java方面,其提供了并发机制:一个进程中可以并发多个线程,每条线程并行执行不同的任务。因为线程运行于多核CPU上,各线程可分布于CPU的各个核心,所以可以让程序实现真正的并发。

以上就是python和java多线程的区别,希望偶的回答对你有所帮助。


python中的多线程和JAVA中的多线程有什么区别吗? |python3 经典例题入门
  • 网络延迟可以通过服务器距离计算吗?为何? - 网络|
  • 网络延迟可以通过服务器距离计算吗?为何? - 网络| | 网络延迟可以通过服务器距离计算吗?为何? - 网络| ...

    python中的多线程和JAVA中的多线程有什么区别吗? |python3 经典例题入门
  • 今日头条有两个APP,它们的作用分别是什么? - 网络|
  • 今日头条有两个APP,它们的作用分别是什么? - 网络| | 今日头条有两个APP,它们的作用分别是什么? - 网络| ...

    python中的多线程和JAVA中的多线程有什么区别吗? |python3 经典例题入门
  • 四轮定位有哪些数据? - 网络|
  • 四轮定位有哪些数据? - 网络| | 四轮定位有哪些数据? - 网络| ...