更新時間:2021年05月19日16時46分 來源:傳智教育 瀏覽次數(shù):
什么是死鎖?
若干子線程在系統(tǒng)資源競爭時,都在等待對方對某部分資源解除占用狀態(tài),結(jié)果是誰也不愿先解鎖,互相干等著,程序無法執(zhí)行下去,這就是死鎖。
GIL鎖:
有時候,面試官不問,你自己要主動說,增加b格,盡量別一問一答的尬聊,不然最后等到的一句話就是:你還有什么想問的么?
全局解釋器鎖(只在cpython 里才有)
作用:限制多線程同時執(zhí)行,保證同一時間只有一個線程執(zhí)行,所以cpython 里的多線程其實是偽多線程!
所以Python 里常常使用協(xié)程技術(shù)來代替多線程,協(xié)程是一種更輕量級的線程,進(jìn)程和線程的切換時由系統(tǒng)決定,而協(xié)程由我們程序員自己決定,而模塊gevent下切換是遇到了耗時操作才會切換。
三者的關(guān)系:進(jìn)程里有線程,線程里有協(xié)程。
猜你喜歡: