阻塞与非阻塞IO?

网络工程 UDP
2022-02-17 06:49:16

我刚刚开始网络编程,我有点困惑读写操作行为是否会根据我们是否有常规文件描述符或套接字描述符(UDP 套接字或 TCP 套接字)而改变。

1个回答

阻塞 I/O * 这里调用系统在操作完成之前不会将控制权返回给调用者。*作为结果,调用者被阻塞并且在指定时间内无法执行其他活动。

非阻塞同步 I/O

*此处 call 立即将控制权返回给调用者,并且调用者无需等待。* 被调用的系统立即返回两个响应之一: . 如果调用被执行并且结果已经准备好,那么调用者就会被告知。或者,被调用的系统可以告诉调用者系统没有资源(套接字中没有数据)来执行请求的操作。

  • 非阻塞异步 I/O *表示调用函数立即将控制权返回给调用者,报告请求的操作已启动。*这里调用的系统将在结果准备好处理时通知调用者(例如通过回调)。