我要寻找一个最佳的睡眠值从非阻塞套接字接收数据。例如:睡眠呼吁
while True:
data=s.recv(1024)
if not data:
time.sleep(10) #10ms
else:
pass #...
没有睡眠会导致100%的CPU使用率,所以任何想法如何获得最佳的CPU使用率和带宽?中央处理器可以进行线程切换多长时间?
顺便说一句,它是有意义的通过SO_SNDBUF/SO_RECVBUF设置套接字的缓冲区,并设置TCP_NODELAY或不应该,他们结合起来?
忘掉模式。现在!忘记一个函数'sleep()'曾经存在过。对于sleep()的每个用法,都有另一种更合适的方法。 –