python的多线程无法并行只能并发,why?

标题

  • python的多线程无法并行只能并发,why?

python的多线程无法并行只能并发,why?

在 Python 中,特别是使用 CPython 解释器时,由于存在 全局解释器锁(GIL),即使在多核处理器上,只有一个线程在同一时刻可以执行 Python 字节码。GIL 会导致 CPU 密集型任务的线程不能真正并行执行,即使在多核机器上。这种情况下,即使你创建多个线程,CPU 也会轮流为每个线程分配执行时间。

只有涉及到I/O操作(比如网络请求或磁盘读写)时,线程才能切换并真正进行并行工作。

你可能感兴趣的:(python的多线程无法并行只能并发,why?)