并发编程——线程——CPython的GIL解释器锁
生活随笔
收集整理的這篇文章主要介紹了
并发编程——线程——CPython的GIL解释器锁
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、GIL定義
In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once. 在CPython中,全局解釋器鎖(global interpreter lock,GIL)是一個互斥鎖,它防止多個本機線程同時執行Python字節碼。This lock is necessary mainly because CPython’s memory management is not thread-safe. 這個鎖是必要的,主要是因為CPython的內存管理不是線程安全的。(However, since the GIL exists, other features have grown to depend on the guarantees that it enforces.) (然而,由于GIL存在,其他特征已經發展成依賴于它所實施的保證。)首先需要明確的一點是GIL并不是Python的特性,它是在實現Python解析器(CPython)時所引入的一個概念。
就好比C++是一套語言(語法)標準,但是可以用不同的編譯器來編譯成可執行代碼。
有名的編譯器例如GCC,INTEL C++,Visual C++等。
Python也一樣,同樣一段代碼可以通過CPython,PyPy,Psyco等不同的Python執行環境來執行。
像其中的JPython就沒有GIL。
然而因為CPython是大部分環境下默認的Python執行環境,所以在很多人的概念里CP
總結
以上是生活随笔為你收集整理的并发编程——线程——CPython的GIL解释器锁的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 并发编程——线程——Thread对象的属
- 下一篇: BASIC-13 数列排序