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

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

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

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

好口碑IT培訓



什么是死鎖?

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

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

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

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

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

三者的關系:進程里有線程,線程里有協(xié)程。



猜你喜歡:

死鎖是怎么產生的?如何避免產生死鎖?

樂觀鎖有什么缺點?樂觀鎖的缺點介紹

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

Python的GIL鎖是什么?

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

0 分享到:
和我們在線交談!