我要尋找一個最佳的睡眠值從非阻塞套接字接收數據。例如:睡眠呼籲
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()的每個用法,都有另一種更合適的方法。 –