在windows下,無論如何要以編程方式計算同一進程的上下文切換?最好的情況是一個線程切換時調用的回調函數。程序如何計數上下文切換?
2
A
回答
7
有一個performance counter爲你工作。你所要做的就是讀取它的價值。你可以找到一個關於如何以交互方式執行的描述here,但性能計數器也可以使用他們的API消耗。
2
計算您自己的上下文切換的問題在於您可能在切換上下文的同時對它們進行計數!更糟糕的是,您自己的計數代碼將會減去您自己的進程所花費的時間,因此您可以在一個上下文週期內執行更少的操作。正如「Freund」(+1)所說,使用性能計數器來代替更高級別的上下文。
相關問題
- 1. 線程上下文切換vs進程上下文切換
- 2. 程序檢測上下文切換
- 3. 如何估計線程上下文切換開銷?
- 4. 每個線程計數上下文切換
- 5. 計數上下文切換的具體過程在Windows
- 6. 從進程上下文切換切換線程上下文有多好?
- 7. 計算有多少上下文切換
- 8. Goliath或EventMachine如何切換上下文?
- 9. 強制線程上下文切換
- 10. 上下文切換多線程
- 11. 多線程:上下文切換
- 12. 使用SIGALRM切換線程上下文
- 13. 線程和上下文切換C++
- 14. 線程之間的上下文切換
- 15. 設備驅動程序IRQL和線程/上下文切換
- 16. 上下文切換死鎖
- 17. 切換畫布上下文
- 18. Python:GIL上下文切換
- 19. 上下文切換太貴
- 20. PHP上下文切換
- 21. lpc 1769上下文切換
- 22. GPU上下文切換
- 23. 如何切換現有數據源的數據庫上下文?
- 24. 快速切換數據上下文
- 25. spinlocked線程如何避免上下文切換的開銷?
- 26. 如何在內核模塊線程中切換上下文?
- 27. 如何在java多線程中實現上下文切換
- 28. python如何處理線程鎖定/上下文切換?
- 29. POSIX:如何在線程之間執行上下文切換?
- 30. 如何使用SFML 2.2切換OpenGL上下文的線程?
@yigal:確保您瞭解使用性能計數器的成本。數據仍然存在,但是收集數據會產生成本,您可能不希望始終使用它。更多數據在這裏:(搜索結果) http://books.google.co.il/books?id=MzU3ms3les4C&pg=PA96&lpg=PA96&dq=windows+counters+performance+overhead&source=bl&ots=OcAWMZ4RJb&sig=f0hyl3IRdfo5UnYtKaAJAFwDhac&hl=iw&ei=cfCbStTUFM7D_gaB4KTEBQ&sa= X&oi = book_result&ct = result&resnum = 3#v = onepage&q = windows%20counters%20performance%20overhead&f = false – 2009-08-31 15:55:10
是的,這應該起作用。它會使用,謝謝大家! – yigal 2009-08-31 16:56:49
哪個是用於計數上下文切換的合適計數器? – Crashworks 2014-02-20 23:32:10