更新時(shí)間:2021年05月19日16時(shí)46分 來源:傳智教育 瀏覽次數(shù):
什么是死鎖?
若干子線程在系統(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é)程。
猜你喜歡:
北京校區(qū)