非阻塞IO就是当用户recvfrom时,如果内核数据没有准备好,那么就直接返回结果,而不是阻塞用户进程,让其一直等待。
我们可以发现,非阻塞IO模型中,用户进程在第一个阶段是非阻塞,第二个阶段是阻塞状态。然而虽然第一个阶段是非阻塞,但是性能并没有得到提高,因为一直在调用recvfrom询问,会导致CPU空转,使用率暴增。
非阻塞IO就是当用户recvfrom时,如果内核数据没有准备好,那么就直接返回结果,而不是阻塞用户进程,让其一直等待。
我们可以发现,非阻塞IO模型中,用户进程在第一个阶段是非阻塞,第二个阶段是阻塞状态。然而虽然第一个阶段是非阻塞,但是性能并没有得到提高,因为一直在调用recvfrom询问,会导致CPU空转,使用率暴增。