Python培訓教程:什麼是Python全域性直譯器鎖(GIL)?

千鋒教育qyf發表於2021-11-12

  本期 Python培訓教程小編為大家帶來的是關於“什麼是Python全域性直譯器鎖(GIL)?”的問題,全域性直譯器鎖是計算機程式設計語言直譯器用於同步執行緒的工具,使得在同一程式內任何時刻僅有一個執行緒在執行,常見的有CPython、Ruby MRI。

Python培訓進度條2

  Python培訓教程:什麼是Python全域性直譯器鎖(GIL)?

  每個CPU在同一時間只能執行一個執行緒,那麼其他的執行緒就必須等待該執行緒的全域性直譯器,使用權消失後才能使用全域性直譯器,即使多個執行緒直接不會相互影響在同一個程式下也只有一個執行緒使用CPU,這樣的機制稱為全域性直譯器鎖(GIL)。GIL的設計簡化了CPython的實現,使得物件模型包括關鍵的內建型別,如:字典等,都是隱含的,可以併發訪問的,鎖住全域性直譯器使得比較容易的實現對多執行緒的支援,但也損失了多處理器主機的平行計算能力。

  Python全域性直譯器鎖(GIL)是一種互斥鎖或鎖,僅允許一個執行緒持有Python直譯器的控制權。

  全域性直譯器鎖的好處

  1、避免了大量的加鎖解鎖的好處;

  2、使資料更加安全,解決多執行緒間的資料完整性和狀態同步。

  全域性直譯器鎖的劣勢

  多核處理器退化成單核處理器,只能併發不能並行。

  Python全域性直譯器鎖(GIL)的作用

  多執行緒情況下必須存在資源的競爭,GIL是為了保證在直譯器級別的執行緒唯一使用共享資源(cpu)。

  以上就是為大家介紹的“什麼是Python全域性直譯器鎖(GIL)?”的Python培訓教程,希望本篇文章能夠對想要 學習Python的你有所幫助,如果你想更快的學習Python,可以來 千鋒教育 Python培訓班進行學習,讓你更快的掌握Python技術。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996644/viewspace-2842011/,如需轉載,請註明出處,否則將追究法律責任。

相關文章