-
Linux 多線程全面解析
在傳統的 Unix 模型中,當一個進程需要由另一個實體執行某件事時,該進程派生(fork)一個子進程,讓子進程去進行處理。Unix 下的大多數網絡服務器程序都是這么編寫的,即父進程接受連接,派生子進程,子進程處理與客戶的交互。 雖然這種模型很多年來使用得很好,但是 fork 時有一些問題: fork 是昂貴的。內存映像要從父進程拷貝到子進程,所有描述字要在子進程中復制等等。目前有的 Unix 實現使用一種叫做寫時拷貝(copy-on-write)的技術,可避免父進程數據空間向子進程的拷貝。盡管有…