單進(jìn)程服務(wù)器-----epoll
IO多路復(fù)用
基本原理就是select亡鼠,poll陌凳,epoll這個function會不斷地輪詢所負(fù)責(zé)的所有socket嗤锉,當(dāng)某個socket有數(shù)據(jù)到達(dá)了就通知用戶進(jìn)程
采用epoll模型時創(chuàng)建了一個共享的內(nèi)存空間鱼鸠,操作系統(tǒng)采用事件通知的方式榆苞,使一個進(jìn)程能同時等待多個文件描述符
select/epoll的好處就在于單個process就可以同時處理多個網(wǎng)絡(luò)連接的IO
select稳衬、poll、epoll 模型的區(qū)別:
select就是輪詢坐漏,在Linux上限制個數(shù)一般為1024個
pool解決了select的個數(shù)限制薄疚,但是依然是輪詢
epoll解決了個數(shù)的限制
epoll解決了輪詢的方式