在linux環境下,對於伺服器端程式開發而言,程序與執行緒各自有優點和缺點,不少人對此有不少誤解。
1)預設情況下,執行緒佔10m虛擬記憶體,對於開發伺服器端程式來說,特別是apache程式來說,乙個程序如果有50個執行緒,那就已經佔了 500m虛擬記憶體,很恐怖的乙個資料,如果你想產生乙個core檔案,就產生至少500m大小的core檔案。對於占用大量記憶體的應用程式來說,執行緒並沒 有程序好。
2)對於共享記憶體而已,執行緒控制同步訪問非常容易,程序卻繁瑣的多
3)對於非同步程式設計來說,程序更有意義,nginx就是很好的例子
總之對於普通應用來說,執行緒可能比程序更占用優勢;對於大記憶體而言,大量執行緒往往會使虛擬記憶體消耗掉;對於非同步程式設計而已,執行緒沒有意義。
多程序伺服器端
多程序服務端 利用訊號 子程序例子 利用子程序結束後向父程序傳送sigchld訊號來 子程序 include 子程序結束訊號 void read childproc int signo int main int argc,char ar else else 主程序 return0 通過多個程序來實現...
九 多程序伺服器端
併發伺服器端的實現方法 併發伺服器可同時向發起請求的客戶端提供服務,以提高平均滿意度和有效利用cpu 實現模型和方法 多程序伺服器 多路復用伺服器 多執行緒伺服器。理解程序 程序 占用記憶體空間的的正在執行的程式。如果父程序終止,處於殭屍狀態的子程序將同時銷毀。父程序往往與子程序一樣繁忙,因此不能只...
多執行緒伺服器端的實現
1.單cpu系統中如何同時執行多個程序?請解釋該過程中發生的上下文切換。答 只有1個cpu cpu的運算裝置core 的系統中不是也可以同時執行多個程序嗎?只是因為系統將cpu時間分成了多個微小的塊後分配給了多個程序。為了分時使用cpu,需要 上下文切換 的過程。2.為何執行緒上下文切換更快?執行緒...