生活随笔
收集整理的這篇文章主要介紹了
服务器框架
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ?一、Reactor模式
Reactor模式,它要求主線程(I/O處理單元)只負責監(jiān)聽文件描述符上是否有事件發(fā)生,有的話就立即將該事件通知工作線程(邏輯單元)。除此之外,主線程(I/O處理單元)不作任何其他實質性工作。讀寫數(shù)據(jù),接收新的連接,以及處理客戶請求均在工作線程(邏輯單元)完成。
使用同步I/O模型(以epoll_wait為例)實現(xiàn)的Reactor模式的工作流程是:
主線程往epoll內核事件表中注冊socket讀就緒事件;主線程調用epoll_wait等待socket上有數(shù)據(jù)可讀;當socket上有數(shù)據(jù)可讀時,epoll_wait通知主線程。主線程則將socket可讀事件放入請求隊列;睡眠在請求隊列上的某個工作線程被喚醒,它從socket讀取數(shù)據(jù),并處理客戶請求,然后往epoll內核事件表中注冊該socket上的寫就緒事件;主線程調用epoll_wait等待socket可寫;當socket可寫時,epoll_wait通知主線程,主線程將socket可寫事件放入請求隊列睡眠在請求隊列上的某個工作線程被喚醒,它往socket上寫入服務器處理客戶請求的結果。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結
以上是生活随笔為你收集整理的服务器框架的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。