有沒有可能測量C#中進程上下文切換的近似時間? 如果是,如何?我如何測量進程上下文切換所用時間的aproximation?
我是根據書Cracking the Coding Interview: 150 Programming Questions and Solutions提出這個問題的。
他們的解決方案是:
假設只有2個進程,P1和P2。 (是一個很大的近似值,我相信有更準確的值)
P1正在執行,P2正在等待執行。在某些時候,OS必須交換P1和P2 - 讓我們假設它發生在P1的第N條指令處。所以,上下文切換時間,這將是:
Time_Stamp(P2_1) - TimeStamp(P2_N)
其中的一個問題是,我們不能錄製過程中的每指令的時間戳。 而我們不考慮在其他進程之間切換上下文的花費時間。
您可以放心地假設,當你提出這個解決方案,您就不會被錄用。 –
@HansPassant我認爲你是對的,我相信這個問題也不是一個好的面試問題,有點棘手,你需要承擔很多與現實很不相稱的事情。 – Tito