Sockets 准备写入fds的select()-ing是否会导致忙循环?

Sockets 准备写入fds的select()-ing是否会导致忙循环?,sockets,Sockets,通常我们使用select()来等待准备读取的套接字。但是,如果writefds也被传递到select,那么当fds可读或可写时,它将立即返回。问题是套接字在大多数时候都是可写的。这不会导致一个繁忙的循环吗?只有当您有东西要写时,才应该等待可写。读操作也是如此——只有在准备接收数据时才等待可读。在每次成功的可写检查之后,应该有write(),在每次成功的可读检查之后,应该有read() 满足这些条件时,您不能引入忙等待循环,因为您的流不是无限的,或者套接字缓冲区不是无限的。只有当您有东西要写时,才

通常我们使用select()来等待准备读取的套接字。但是,如果writefds也被传递到select,那么当fds可读或可写时,它将立即返回。问题是套接字在大多数时候都是可写的。这不会导致一个繁忙的循环吗?

只有当您有东西要写时,才应该等待可写。读操作也是如此——只有在准备接收数据时才等待可读。在每次成功的可写检查之后,应该有
write()
,在每次成功的可读检查之后,应该有
read()


满足这些条件时,您不能引入忙等待循环,因为您的流不是无限的,或者套接字缓冲区不是无限的。

只有当您有东西要写时,才应该等待可写。读操作也是如此——只有在准备接收数据时才等待可读。在每次成功的可写检查之后,应该有
write()
,在每次成功的可读检查之后,应该有
read()

满足这些条件时,不能引入忙等待循环,因为流不是无限的,或者套接字缓冲区不是无限的