更新時(shí)間:2021年05月19日16時(shí)46分 來(lái)源:傳智教育 瀏覽次數(shù):
什么是死鎖?
若干子線(xiàn)程在系統(tǒng)資源競(jìng)爭(zhēng)時(shí),都在等待對(duì)方對(duì)某部分資源解除占用狀態(tài),結(jié)果是誰(shuí)也不愿先解鎖,互相干等著,程序無(wú)法執(zhí)行下去,這就是死鎖。
GIL鎖:
有時(shí)候,面試官不問(wèn),你自己要主動(dòng)說(shuō),增加b格,盡量別一問(wèn)一答的尬聊,不然最后等到的一句話(huà)就是:你還有什么想問(wèn)的么?
全局解釋器鎖(只在cpython 里才有)
作用:限制多線(xiàn)程同時(shí)執(zhí)行,保證同一時(shí)間只有一個(gè)線(xiàn)程執(zhí)行,所以cpython 里的多線(xiàn)程其實(shí)是偽多線(xiàn)程!
所以Python 里常常使用協(xié)程技術(shù)來(lái)代替多線(xiàn)程,協(xié)程是一種更輕量級(jí)的線(xiàn)程,進(jìn)程和線(xiàn)程的切換時(shí)由系統(tǒng)決定,而協(xié)程由我們程序員自己決定,而模塊gevent下切換是遇到了耗時(shí)操作才會(huì)切換。
三者的關(guān)系:進(jìn)程里有線(xiàn)程,線(xiàn)程里有協(xié)程。
猜你喜歡:
死鎖是怎么產(chǎn)生的?如何避免產(chǎn)生死鎖?
Python requests模塊是做什么的?
2021-05-14python培訓(xùn)哪家值得信賴(lài)?|Python入門(mén)教程下載
2021-05-14Django的開(kāi)發(fā)理念:Django框架哲學(xué)
2021-05-13Django MTV架構(gòu)指的是什么?
2021-05-13怎樣解決瀏覽器下載Django項(xiàng)目大文件報(bào)錯(cuò)的問(wèn)題?
2021-05-13openstack有幾種節(jié)點(diǎn)?如何搭建openstack開(kāi)發(fā)環(huán)境?
2021-05-13北京校區(qū)