sockets - 为什么非阻塞 TCP 套接字会在::write() 调用中花费大量时间?

标签 sockets tcp

对于非阻塞 TCP 套接字,我希望 write()read() 在任何情况下都会立即返回(无论是 read() 是否可以填充缓冲区,write() 是否可以发送整个缓冲区)。

在非阻塞模式下,是否存在导致 write() 工作时间(毫秒)的一些现实情况?

最佳答案

原因很简单:线程饥饿。虚拟机从我的代码中窃取时间:例如,usleep(30000) 可能会在 800 毫秒后返回。

关于sockets - 为什么非阻塞 TCP 套接字会在::write() 调用中花费大量时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105937/

相关文章:

c# - 从监听器队列中删除所有挂起的连接

linux - 什么是 TCP 中的最大段生命周期 (MSL)?

windows - 如何查找正在使用的临时端口数?

sockets - 在 TCP 套接字上设置 SO_BROADCAST

java - 读取套接字输入流而没有传输结束字符?

C++ 服务器不显示数据包

c - 用C语言访问一个URL

java - 与 Jersey 客户端的连接重置

python - 使用socket编程Python发送图片

linux - 如何实时合并三个TCP流