day 9 鎖和進程,線程

https://blog.51cto.com/10630401/2073045
http://www.cnblogs.com/alex3714/articles/5230609.html
https://blog.51cto.com/10630401/2073564 GIL參考
GIL鎖與互斥鎖的綜合分析
1.100個線程去搶GIL鎖,即搶執行權限
2.肯定有一個線程先搶到GIL(暫且稱爲線程1),然後開始執行,一旦執行就會拿到lock.acquire()
3.極有可能線程1還未運行完畢,就有另外一個線程2搶到GIL,然後開始運行,但線程2發現互斥鎖lock還未被線程1釋放,於是阻塞,被迫交出執行權限,即釋放GIL
4.直到線程1重新搶到GIL,開始從上次暫停的位置繼續執行,直到正常釋放互斥鎖lock,然後其他的線程再重複2 3 4的過程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章