進程鎖python
發布時間: 2023-10-10 21:10:07
❶ python 進程,線程,協程,鎖機制,你知多少
1.線程和進程:
線程是屬於進程的,線程運行在進程空間內,同一進程所產生的線程共享同一內存空間,當進程退出時該進程所產生的線程都會被強制退出並清除。線程可與屬於同一進程的其它線程共享進程所擁有的全部資源,但是其本身基本上不擁有系統資源,只擁有一點在運行中必不可少的信息(如程序計數器、一組寄存器和棧)。
2.線程、進程與協程:
線程和進程的操作是由程序觸發系統介面,最後的執行者是系統;協程的操作則是程序員
協程存在的意義:對於多線程應用,CPU通過切片的方式來切換線程間的執行,線程切換時需要耗時(保持狀態,下次繼續)。協程,則只使用一個線程,在一個線程中規定某個代碼塊執行順序。
協程的適用場景: 當程序中存在大量不需要CPU的操作時(IO),適用於協程;
❷ windows 下和 linux下python的效率差很大怎麼回事
因為window上面的Python一般是Cpython,用C語言編寫的,深層有進程解釋器鎖,在硬體一般的情況下方便了不少,但是隨著硬體的優化,進程鎖成為了制約運行速度的枷鎖,後來卻很難去除了,所以人們也常常說CPython沒有真正的多線程,CPython根本沒有利用好電腦的多核設備,相比於其他語言,CPython只能利用單核,肯定相對來說慢了很多。
但是Linux上面用的是JPython,用Java寫的,沒有進程鎖這個累贅,肯定就快很多了。
熱點內容