我必須在python中寫一個簡單的tcp轉發器,它將永遠運行。我將以1分鐘的間隔獲取數據。那麼,我必須在while true
中運行socket.read()
嗎? 有沒有更好的方法來避免所有這些不必要的CPU週期? 還有一件事,socket.read()在一個線程中。python3套接字讀取,避免雖然真或最佳做法
1
A
回答
2
我是否必須運行socket.read()in while true?有沒有更好的方法來避免所有這些不必要的CPU週期?
這是一個阻止read()
。所以你的進程(線程)在等待下一次網絡通信時基本上處於睡眠狀態,而不是消耗CPU週期。
0
在一天結束的時候,你仍然需要某種真實的。通常的做法是在某個地方睡覺。
如果您需要從多個套接字中讀取數據,則需要使用select功能。 https://docs.python.org/3/library/select.html。這是因爲read()操作可能會阻塞。
相關問題
- 1. 避免副作用的最佳做法
- 2. Android的最佳做法,以避免memoryleaks?
- 3. 避免重讀表上的鎖的最佳做法?
- 4. 避免多個字符串的最佳做法
- 5. Python3雖然語法錯誤
- 6. PHP循環 - 雖然或做?
- 7. JavaMail編程最佳或最佳做法
- 8. 避免賦值錯誤與依賴關係的最佳做法?
- 9. 避免代碼複製的最佳做法?
- 10. 的最佳做法,以避免在CoffeeScript中
- 11. 緩存的最佳做法。避免多餘的緩存?
- 12. 避免代碼重複的最佳做法(symfony2)
- 13. 避免「添加朋友」濫用的最佳做法
- 14. 避免綁定錯誤的最佳做法
- 15. Grails - 避免flash.message中的XSS的最佳做法?
- 16. 最佳做法,以避免在vs2010中重建
- 17. 避免在JavaScript中傳遞大量參數的最佳做法
- 18. Facebook和iOS集成最佳做法,以避免登錄按鈕
- 19. 避免在端點上引發異常的最佳做法?
- 20. 無法讀取套接字
- 21. 硬件RAID或btrfs文件系統 - 避免/檢測位錯的最佳做法?
- 22. Java套接字寫入然後從套接字讀取
- 23. PHP套接字寫入然後讀取阻塞套接字
- 24. 避免執行javascript的最佳方法
- 25. 避免假用戶的最佳方法
- 26. 避免違反LSP的最佳方法
- 27. 避免代碼重複 - 最佳方法
- 28. 使用網絡套接字的Javascript最佳做法
- 29. 避免活動鏈接和後續多個活動實例的最佳做法?
- 30. 軌道4 [最佳做法]嵌套資源和淺:真
這是正確的。 – Jordan
謝謝你的澄清 –