select调用深入解析
poll调用深入解析
上面两个链接写关于select和poll底层是怎样工作,很细心对源代码进行剖析,解释得挺详细的。特别是关于poll。
其实select和poll底层都是把fd copy到内核,遍历所有fd数组,然后把对应的进程(当前进程)挂载到专属于这个fd的等待队列上面。如果这个fd可读或可写,就在队列中激活进程。然后内核再填写好状态,copy回用户空间。用户跳出poll或select。
select调用深入解析
poll调用深入解析
上面两个链接写关于select和poll底层是怎样工作,很细心对源代码进行剖析,解释得挺详细的。特别是关于poll。
其实select和poll底层都是把fd copy到内核,遍历所有fd数组,然后把对应的进程(当前进程)挂载到专属于这个fd的等待队列上面。如果这个fd可读或可写,就在队列中激活进程。然后内核再填写好状态,copy回用户空间。用户跳出poll或select。