程序 執行緒 多程序 多執行緒的優缺點

2021-07-24 15:15:52 字數 1061 閱讀 6706

ibm有個傢伙做了個測試,發現切換執行緒context的時候,windows比linux快一倍多。進出最快的鎖(windows2k的 critical section和linux的pthread_mutex),windows比linux的要快五倍左右。當然這並不是說linux不好,而且在經過實際程式設計之後,綜合來看我覺得linux更適合做high performance server,不過在多執行緒這個具體的領域內,linux還是稍遜windows一點。這應該是情有可原的,畢竟unix家族都是從多程序過來的,而 windows從頭就是多執行緒的。

如果是unix/linux環境,採用多執行緒沒必要。多執行緒比多程序效能高?誤導!應該說,多執行緒比多程序成本低,但效能更低。在unix環境,多程序排程開銷比多執行緒排程開銷,沒有顯著區別,就是說,unix程序排程效率是很高的。記憶體消耗方面,二者只差全域性資料區,現在記憶體都很便宜,伺服器記憶體動輒若干g,根本不是問題。

多程序是立體交通系統,雖然造價高,上坡下坡多耗點油,但是不堵車。多執行緒是平面交通系統,造價低,但紅綠燈太多,老堵車。就比如我們都開跑車,油(主頻)不是問題,也不怕上坡下坡,但就怕堵車。

高效能交易伺服器中介軟體,如tuxedo,都是主張多程序的。實際測試表明,tuxedo效能和併發效率是非常高的。tuxedo是貝爾實驗室的,與unix同宗,應該是對unix理解最為深刻的,他們的意見應該具有很大的參考意義。

1. 程序的優點

2. 程序的缺點

1. 執行緒的優點

2. 執行緒的缺點

1. 多程序優點

2. 多程序缺點

1. 多執行緒的優點

2. 多執行緒缺點

在開發中,最好是多程序和多執行緒結合,即根據實際的需要,每個cpu開啟乙個子程序,這個子程序開啟多執行緒可以為若干同型別的資料進行處理。當然你也可以利用多執行緒+多cpu+輪詢方式來解決問題。方法和手段是多樣的,關鍵是自己看起來實現方便有能夠滿足要求,代價也合適。

PHP 多程序和多執行緒的優缺點

使用多程序,子程序結束以後,核心會負責 資源 使用多程序,子程序異常退出不會導致整個程序thread退出.父程序還有機會重建流程.乙個常駐主程序,只負責任務分發,邏輯更清楚.多程序方式更加穩定,另外利用程序間通訊 ipc 也可以實現資料共享。共享記憶體,這種方式和執行緒間讀寫變數是一樣的,需要加鎖,...

程序 執行緒 多程序 多執行緒之間的差異以及優缺點

ibm有個傢伙做了個測試,發現切換執行緒context的時候,windows比linux快一倍多。進出最快的鎖 windows2k的 critical section和linux的pthread mutex windows比linux的要快五倍左右。當然這並不是說linux不好,而且在經過實際程式設...

多程序與多執行緒區別 優缺點(Python)

在linux系統下,使用os.fork 呼叫一次,返回兩次,作業系統自動把當前程序 父程序 複製了乙份 子程序 然後分別在父程序和子程序內返回。子程序永遠返回0,父程序返回子程序的id。經過這樣做,父程序就能fork出很多子程序,並可以記錄下子程序的id號了,子程序可以通過getppid 來獲取父程...