教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

什么是死鎖?【Python面試題】

更新時(shí)間:2021年05月19日16時(shí)46分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)



什么是死鎖?

若干子線程在系統(tǒng)資源競爭時(shí),都在等待對(duì)方對(duì)某部分資源解除占用狀態(tài),結(jié)果是誰也不愿先解鎖,互相干等著,程序無法執(zhí)行下去,這就是死鎖。

GIL鎖:
有時(shí)候,面試官不問,你自己要主動(dòng)說,增加b格,盡量別一問一答的尬聊,不然最后等到的一句話就是:你還有什么想問的么?

全局解釋器鎖(只在cpython 里才有)

作用:限制多線程同時(shí)執(zhí)行,保證同一時(shí)間只有一個(gè)線程執(zhí)行,所以cpython 里的多線程其實(shí)是偽多線程!

所以Python 里常常使用協(xié)程技術(shù)來代替多線程,協(xié)程是一種更輕量級(jí)的線程,進(jìn)程和線程的切換時(shí)由系統(tǒng)決定,而協(xié)程由我們程序員自己決定,而模塊gevent下切換是遇到了耗時(shí)操作才會(huì)切換。

三者的關(guān)系:進(jìn)程里有線程,線程里有協(xié)程。



猜你喜歡:

死鎖是怎么產(chǎn)生的?如何避免產(chǎn)生死鎖?

樂觀鎖有什么缺點(diǎn)?樂觀鎖的缺點(diǎn)介紹

什么是鎖消除和鎖粗化?鎖消除和鎖粗化介紹

Python的GIL鎖是什么?

傳智教育Python大數(shù)據(jù)培訓(xùn)課程

0 分享到:
和我們?cè)诰€交談!