1. 程式人生 > >python 多程序 多執行緒程式設計

python 多程序 多執行緒程式設計

python多執行緒有個討厭的限制,全域性直譯器鎖(global interpreter lock),這個鎖的意思是任一時間只能有一個執行緒使用直譯器,跟單cpu跑多個程式一個意思,大家都是輪著用的,這叫“併發”,不是“並行”。手冊上的解釋是為了保證物件模型的正確性!這個鎖造成的困擾是如果有一個計算密集型的執行緒佔著cpu,其他的執行緒都得等著....,試想你的多個執行緒中有這麼一個執行緒,得多悲劇,多執行緒生生被搞成序列;當然這個模組也不是毫無用處,手冊上又說了:當用於IO密集型任務時,IO期間執行緒會釋放直譯器,這樣別的執行緒就有機會使用直譯器了!所以是否使用這個模組需要考慮面對的任務型別。