本文首先對(duì)epoll模型的實(shí)現(xiàn)原理進(jìn)行了講解,然后從源碼的層面對(duì)nginx是如何基于epoll模型實(shí)現(xiàn)事件驅(qū)動(dòng)模式的原理進(jìn)行了講解。
epoll是一種基于事件驅(qū)動(dòng)的模型,其是nginx能夠高效處理客戶端請(qǐng)求的重要原因之一。從流程上來講,epoll模型的使用主要分為三步:epoll句柄的創(chuàng)建,監(jiān)聽文件描述符的添加和等待事件的觸發(fā),本文將介紹nginx是如何基于這三個(gè)步驟實(shí)現(xiàn)客戶端請(qǐng)求的高效處理的。