關(guān)閉
  • select和epoll的前世今生

    了解IO多路復(fù)用應(yīng)該對epoll和select不陌生吧。首先,select是有缺陷的,就是當(dāng)事件發(fā)生(調(diào)用select)的時候,都需要在用戶態(tài)和內(nèi)核態(tài)之間拷貝fd數(shù)組,要知道用戶態(tài)和內(nèi)核態(tài)之間進行內(nèi)存的拷貝是非常昂貴的,如果有上萬級別的并發(fā)網(wǎng)絡(luò)需要處理的時候,服務(wù)器根本處理不來。這時候,Linux內(nèi)核的開發(fā)者應(yīng)該算是簡單又粗暴的增加了一個內(nèi)核調(diào)用,就是epoll了,有時候簡單粗暴的東西還是能提高效率的。先來看select接口:

  • 你真的知道C語言函數(shù)調(diào)用的內(nèi)幕嗎?

    C語言使用函數(shù)調(diào)用,我們再熟悉不過了,但是函數(shù)調(diào)用在內(nèi)存中究竟發(fā)生了什么真的清楚嗎?只有搞清楚內(nèi)存里的內(nèi)幕,才算完全搞懂函數(shù)的調(diào)用。