python真正實(shí)現(xiàn)多線程 python的多線程是怎么實(shí)現(xiàn)的,聽說底層是依據(jù)win32的線層實(shí)現(xiàn)?
python的多線程是怎么實(shí)現(xiàn)的,聽說底層是依據(jù)win32的線層實(shí)現(xiàn)?Python使用全局解釋器鎖(global interpreter lock,簡(jiǎn)稱Gil)來守衛(wèi)解釋器的門,保護(hù)C API調(diào)用,如
python的多線程是怎么實(shí)現(xiàn)的,聽說底層是依據(jù)win32的線層實(shí)現(xiàn)?
Python使用全局解釋器鎖(global interpreter lock,簡(jiǎn)稱Gil)來守衛(wèi)解釋器的門,保護(hù)C API調(diào)用,如果有a、B、C三個(gè)線程同時(shí)運(yùn)行,如果一個(gè)線程進(jìn)入解釋器,Gil會(huì)將B、C擋在門外,在線程調(diào)度中,會(huì)重新調(diào)度一個(gè)線程進(jìn)入解釋器,至于什么時(shí)候安排,打電話sys.getcheckinterval()檢查。也可以通過set進(jìn)行設(shè)置。至于調(diào)度哪個(gè)線程,原則上完全由操作決定,系統(tǒng)模擬操作系統(tǒng)的本機(jī)線程。