龙空技术网

python的多线程能否实现并发,游学电子告诉您

游学电子 181

前言:

而今兄弟们对“python 并发读取文件”大概比较看重,你们都需要剖析一些“python 并发读取文件”的相关知识。那么小编同时在网络上搜集了一些关于“python 并发读取文件””的相关资讯,希望大家能喜欢,同学们快快来了解一下吧!

python的多线程能否实现并发,这里告诉您.很多朋友可能都使用过python,但是并发并行的问题,可能就很少有朋友了解了.

并发:强调的是可以一起出发,并行:强调的是可以一起执行.

我们今天强调的是并行,因为并行是单个cpu可以同时执行多个任务,这才是我们提高执行效率的目标.

由于很多复杂原因Python设计之初并没有锁的操作,所以为了防止多个线程之间的读写冲突,Python 使用 GIL 作为全局锁。换句话说,Python 的解释器,也就是默认的cpython解释器每次只会执行一个线程。这就是python的多线程为何不是并行的原因了.

每个线程要运行前先请求 GIL(全局解释器锁 ),当线程阻塞时(比如 I/O 阻塞),线程释放 GIL,这时,另一个线程会接着运行。因此,Python 的多线程程序在同一时间只有一个线程在运行。多线程 Python 程序只是并发,而不是并行。

如果想实现并行和并发如何解决呢?

请使用多进程更换解释器,默认的cpython解释器带有GIL,但是jpython没有调用其他c代码库实现.

标签: #python 并发读取文件