python真正實現(xiàn)多線程 為什么有人說Python的多線程是雞肋呢?
為什么有人說Python的多線程是雞肋呢?Gil lock限制了進程中的不同線程在同一時間只能占用一個CPU。可以看出,當(dāng)使用多線程處理計算密集型任務(wù)時,Python中的多個線程需要相互等待以獲得CP
為什么有人說Python的多線程是雞肋呢?
Gil lock限制了進程中的不同線程在同一時間只能占用一個CPU??梢钥闯觯?dāng)使用多線程處理計算密集型任務(wù)時,Python中的多個線程需要相互等待以獲得CPU資源。在這個時候,多線程不能并行,我們真的不具備預(yù)期的多線程能力。
但是,如果執(zhí)行的是Io密集型任務(wù),多個線程之間沒有太多CPU資源爭用,更多的是每個線程都在進行Io傳輸和等待,此時,多線程的能力還是可以發(fā)揮出來的。
所以我們不能簡單地說Python的多線程是雞肋,但是它的設(shè)計限制了它的應(yīng)用場景。