色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

為什么python的GIL問題一直讓人詬病

錢衛國2年前16瀏覽0評論

為什么python的GIL問題一直讓人詬病?

GIL這把大鎖,到現在還存在是有它道理的。首先,我們知道python是解釋型語言,代碼執行都是在解釋器里執行的。解釋型語言都有不能實現真正的多線程并發的通病。這個是先天性的。多個線程是共享主進程資源的,如果不給線程加鎖,讓線程并發,多個線程修改共享數據,就會引發數據混亂,這是不可靠的。因為解釋器不知道你在代碼哪里去修改共享數據了,所以一刀切,直接給線程加鎖了。在同一時間解釋器只允許一個線程運行。

當然了,你可能會說,我直接讓解釋器給要修改的共享數據加鎖,這樣多線程真正并行不就行了?其實國外早就有大佬這么做了,測試出來的結果,執行效率還不如直接給線程加鎖。到目前為止,python開發團隊都還沒有提出更好的解決這個問題。這個是解釋型語言的通病。此外,要解決這個問題,技術難度很大。

雖然GIL這把大鎖的存在影響多線程不能真正的并發,但是我們可以用多進程來解決呀。