天天看點

多線程和Gil鎖

問題一:什麼時候會是釋放Gil鎖

答: 1 遇到像 io 操作這種會有時間空閑情況造成cpu閑置的情況會釋放Gil

2 會有一個專門ticks進行計數,一旦ticks數值達到100就會釋放

問題二:互斥鎖和GIL鎖的差別

Gil鎖:保證同一時刻隻有一個線程使用cup

互斥鎖:多線程時,保證修改共享資料時有序修改,不會産生資料修改

混亂

我是這樣了了解Gil鎖的,比如有一輛機車(cpu),Gil鎖就是鑰匙,有兩個人(兩個線程),每次隻能有一個人拿到鑰匙上車開車(線程啟動),另外一個人要等待開車的那個人下車給鑰匙給他,然後才可以去上車開車。