2
A
回答
3
問題的答案取決於你的努力來實現:
time.sleep(delayTime):
- 措施:暫停當前線程的執行對於給定秒數。
- 任何捕獲信號將終止睡眠()以下的該信號的捕捉常規
select.select執行([],[],[],delayTime):
這是一個簡單的接口到Unix select()
系統調用。前三個參數是'可等待對象的序列:
- 的rlist:等到讀就緒
- wlist:等到準備好寫
- 的Xlist:等待「異常條件」
所以現在,在瞭解了兩個接口之後,我們可以理解答案取決於目的:
如果您只想暫停當前線程 - 第一個選項更簡單。但是如果有對象等待 - 使用第二種方法。 在效率的溫度 - 我不認爲如果你正在尋找的是最簡單的用例(只是暫停主線程),那麼不存在差異。
1
非常簡單的hackup python中的測試與調用timeit
,但我愛ipython進行快速測試(http://ipython.org/)。這裏是我的結果:
$ ipython
import time,select
%timeit time.sleep(0)
1000000 loops, best of 3: 655 ns per loop
%timeit select.select([],[],[],0)
1000000 loops, best of 3: 902 ns per loop
但是,如果你沒有獲得IPython的,並會在命令行更喜歡本土timeit
:
$ python -m timeit -s "import time,select" "time.sleep(0)"
1000000 loops, best of 3: 0.583 usec per loop
$ python -m timeit -s "import time,select" "select.select([],[],[],0)"
1000000 loops, best of 3: 0.777 usec per loop
1
你如何定義效率?在大多數情況下,sleep和select一直用來觀察是否有空間/緩衝區。如果空間不可用,那麼我們可以選擇等待並查看緩衝區何時爲空,並且我們可以執行我們的操作。 sleep()在內部選擇()。所以,我想你認爲這很重要。
相關問題
- 1. 什麼是在c中任意時間「睡眠」的最有效方法?
- 2. 實現睡眠函數JavaScript的最佳方式是什麼?
- 3. 睡眠模式和深度睡眠模式有什麼區別?
- 4. Python:睡眠方法
- 5. 什麼是在Python中遍歷樹的最有效方法?
- 6. 在Python中實現併發的最有效方法是什麼?
- 7. 什麼是iOS的睡眠功能
- 8. 在UNIX系統上調用睡眠(0)的效果是什麼?
- 9. 什麼是最有效的方式來處理Python中的錯誤?
- 10. 在MySQL中存儲URL的最有效方式是什麼?
- 11. 什麼是在Android中運行Cursor的最有效方式?
- 12. 在MySQL中使用字段的最有效方式是什麼?
- 13. 在scala中運行期貨的最有效方式是什麼?
- 14. 在IE8 +中添加元素的最有效方式是什麼?
- 15. 在Python中與集合相交的最有效方式是什麼?
- 16. Python - 什麼是生成填充最有效的方法?
- 17. 適當的睡眠方式在等待鎖定期間睡眠
- 18. 什麼是防止OS X睡眠的正確方法?
- 19. 睡眠和睡眠有沒有區別?
- 20. 什麼是最有效的方式截斷這張表?
- 21. 什麼是PHP和JavaScript傳輸數據的最有效方式?
- 22. 什麼是記錄極少量數據的最有效方式?
- 23. 什麼是使用Android相機最有效的方式?
- 24. 什麼是最有效的並行實施方式?
- 25. 什麼是生成縮略圖最有效的方式?
- 26. 渲染動態菜單的最有效方式是什麼
- 27. 什麼是動態創建類實例的最有效方式?
- 28. 什麼是實現遊戲計時器的最有效方式
- 29. rails:什麼是最有效的存儲會話方式?
- 30. SVN更新:使用它的最有效方式是什麼?
高效的資源? –
CPU使用率,精度。 – edgarstack
什麼阻止你測試和比較兩者? –