我正在寻找一个最佳的睡眠值来接收来自非阻塞套接字的数据。例如:
while True:
data=s.recv(1024)
if not data:
time.sleep(10) #10ms
else:
pass #...
没有睡眠会导致100%的CPU使用率,所以任何想法如何获得最佳的CPU使用率和带宽?睡眠需要多长时间才能使CPU进行线程切换?
顺便说一下,通过SO_SNDBUF / SO_RECVBUF设置套接字缓冲区并设置TCP_NODELAY是否有意义,还是不应该合并?