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

2024-11-19 19:44:07
推荐回答(1个)
回答(1):

  Python多线程最多占用一个逻辑核心。
  如果你每个线程都是io密集型(阻塞多于计算),也就是说单独一个线程几乎大段时间没事儿干,不能充分利用cpu,那可能多线程跑在一个核心上还有意义;
  如果每个线程都是计算密集型(几乎都是计算任务),那一般情况1个线程就可以充分利用一个逻辑核心,多个线程反而增加了切换开销。从这个角度上说Python的多线程确实鸡肋。
  多进程可以解决这个问题,因为进程不是由Python管理的,而是由系统管理的,系统会合理分配CPU资源。