为什么有人说 Python 的多线程是鸡肋

2024年11月19日 19:24
有1个网友回答
网友(1):

其它的语言也有类似的情况,线程本身的特点导致线程的适用范围是受限的。只有CPU过剩,而其它的任务很慢,此时用线程才是有益的,可以很好平衡等待时间,提高并发性能。

线程的问题主要是线程的安全稳定性。线程无法强制中止,同时线程与主进程共享内存,可能会影响主进程的内存管理。

在python里线程出问题,可能会导致主进程崩溃。 虽然python里的线程是操作系统的真实线程。

那么怎么解决呢?通过我们用进程方式。子进程崩溃后,会完全的释放所有的内存和错误状态。所以进程更安全。 另外通过进程,python可以很好的绕过GIL,这个全局锁问题。

但是进程也是有局限的。不要建立超过CPU总核数的进程,否则效率也不高。