關(guān)于Python GIL導(dǎo)致的性能問題
????我們時常思考一個問題,就是我同時開三個線程,每個線程執(zhí)行的都是一個主體為time.sleep(5)的target,三個線程同時跑,肯定是5秒一起結(jié)束了。這和我們對GIL的認(rèn)知似乎有差距,說好的實際上只有一個線程在運行呢?怎么感覺是“真并發(fā)”?
????所以我造了一個全是運算的block:
????跑一跑試一試。
????所以確實,GIL罪大惡極且確實存在。sleep為什么可以真并發(fā),不知道哈哈哈。
????還有就是頻繁切換(由于thread不能顯式切換任務(wù),系統(tǒng)內(nèi)部調(diào)度)任務(wù)會嚴(yán)重降低性能,所以:
????Python的thread真是一坨屎??!