linux並發伺服器中epoll+多線程分別怎麼理解

來源:互聯網
上載者:User
linux並發伺服器中epoll+多線程分別怎麼理解?linux並發伺服器中可以用epol來實現 我看了幾次epoll的工作原理 就是不是很明白,epoll再加上多線程實現的話 我就更不明了。請知道的幫我講講他們怎麼揉在一起?同時使用多線程和epoll的工作原理是啥啊?

暱稱: lgch123456  時間: 2011-01-04 16:42:49某個線程處理某個特定事件吧
通過epoll檢測一些事件,事件觸發時,建立一個線程來專職處理這個事件

暱稱: justkk  時間: 2011-01-04 16:52:20引用 1 樓 justkk 的回複:

某個線程處理某個特定事件吧
通過epoll檢測一些事件,事件觸發時,建立一個線程來專職處理這個事件

不是說可以用線程池來事先建你需要的線程來做嗎?如果是這樣的話 是不是每個線程做特定是事件,
epoll檢測到事件是以fd返回到 這樣的話 是不是每個fd就一個線程?

暱稱: lgch123456  時間: 2011-01-04 17:00:06事件多路分離機制和線程是兩碼事

暱稱: linsen_519  時間: 2011-01-04 17:02:28引用 3 樓 linsen_519 的回複:

事件多路分離機制和線程是兩碼事

是兩碼子事啊,但怎麼揉在一起來提高伺服器工作效率啊?

暱稱: lgch123456  時間: 2011-01-04 17:07:33引用 4 樓 lgch123456 的回複:

引用 3 樓 linsen_519 的回複:

事件多路分離機制和線程是兩碼事
是兩碼子事啊,但怎麼揉在一起來提高伺服器工作效率啊?

你這個問題問的有點廣,我不敢回答,怕誤人子弟~哈哈
給你點建議吧~~
高輸送量,低延遲的網路編程關鍵
1.不要採用一個串連一個線程的方式,而是盡量利用作業系統的事件多路分離機制
如:UNIX下的 select linux下的epoll BSD下的kqueue
或者使用這些機制的高層API (boost.asio&&ACE Reactor)
2.盡量使用非同步I/O,而不是同步
3.當事件多路分離單線程無法滿足並發需求時,將事件多路分離的線程擴充成線程池

暱稱: linsen_519  時間: 2011-01-04 17:16:52引用 5 樓 linsen_519 的回複:

引用 4 樓 lgch123456 的回複:

引用 3 樓 linsen_519 的回複:

事件多路分離機制和線程是兩碼事
是兩碼子事啊,但怎麼揉在一起來提高伺服器工作效率啊?

你這個問題問的有點廣,我不敢回答,怕誤人子弟~哈哈
給你點建議吧~~
高輸送量,低延遲的網路編程關鍵
1.不要採用一個串連一個線程的方式,而是盡量利用作業系統的事件多路分離機制
如:UNIX下……

當事件多路分離單線程無法滿足?怎麼理解啊?

暱稱: lgch123456  時間: 2011-01-04 17:21:45引用 6 樓 lgch123456 的回複:

引用 5 樓 linsen_519 的回複:

引用 4 樓 lgch123456 的回複:

引用 3 樓 linsen_519 的回複:

事件多路分離機制和線程是兩碼事
是兩碼子事啊,但怎麼揉在一起來提高伺服器工作效率啊?

你這個問題問的有點廣,我不敢回答,怕誤人子弟~哈哈
給你點建議吧~~
高輸送量,低延遲的網路編程關鍵
1.不要採用一個串連一個線程的方式,而是……

當事件多路分離單線程無法滿足並發需求時
-----------------------
比如這個伺服器原來能處理10000使用者的並發請求,後來規模大了又來了10000個使用者,伺服器吃不消了!

暱稱: linsen_519  時間: 2011-01-04 17:26:16單線程當事件多路分離?這個的工作機制是啥 a ?剛問錯了

暱稱: lgch123456  時間: 2011-01-04 17:30:10如果單線程這3個字影響你了,那你就當沒這3個字吧!
我的意思是說,你作的任何事情不都是在一個線程裡實現的嗎?

int main(){
cout<<"hello word"<<endl;
}

這裡難道沒有一個主線程嗎?!

暱稱: linsen_519  時間: 2011-01-04 17:36:06引用 9 樓 linsen_519 的回複:

如果單線程這3個字影響你了,那你就當沒這3個字吧!
我的意思是說,你作的任何事情不都是在一個線程裡實現的嗎?

int main(){
cout<<"hello word"<<endl;
}

這裡難道沒有一個主線程嗎?!

我只是對線程池中epoll的使用原理不明白 所以一些路就很難走去了。你能給我講講這個東西嗎?

暱稱: lgch123456  時間: 2011-01-04 17:45:47
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.