天天看點

python多線程、多程序簡談

程序:

1、作業系統進行資源配置設定和排程的基本機關,多個程序之間互相獨立

2、穩定性好,如果一個程序崩潰,不影響其他程序,但是程序消耗資源大,開啟的程序數量有限制

線程:

1、CPU進行資源配置設定和排程的基本機關,線程是程序的一部分,是比程序更小的能獨立運作的基本機關,一個程序下的多個線程可以共享該程序的所有資源

2、如果IO操作密集,則可以多線程運作效率高,缺點是如果一個線程崩潰,都會造成程序的崩潰

應用:

IO密集的用多線程,在使用者輸入,sleep 時候,可以切換到其他線程執行,減少等待的時間

CPU密集的用多程序,因為假如IO操作少,用多線程的話,因為線程共享一個全局解釋器鎖,目前運作的線程會霸占GIL,其他線程沒有GIL,就不能充分利用多核CPU的優勢