2012-11-28 56 views
0

我正在研究一個項目,測量某些方法的計算時間對某些框架的性能的影響。我想知道一個時間不同的睡眠()會足以做到這一點嗎?特別是對於大量線程平行的fork/join框架,sleep()應該等待x秒鐘。我的意思是,當線程Y正在執行時,線程Z的睡眠不會被執行,它不應該被計數。可以說,睡眠應該保持當前線程的處理器鎖定。用等待衡量執行時間的影響?

基本上:睡眠(x)會睡眠x有效的執行時間秒,還是會計算線程閒置時的時間?

我在網上找不到任何信息,可能是因爲我不知道正確的術語,因爲它看起來像一個相當基本的問題。

回答

0

Thread.sleep()使線程按顧名思義進入睡眠狀態。它故意故意停止線程,並且操作系統在喚醒時可能會在另一個cpu上啓動它。

它不清楚你正在嘗試做什麼,或者當你需要線程鎖定到一個核心,如果你打算讓他們睡覺。

0

sleep()不保持處理器鎖定在當前線程上,處理器將線程置於非活動狀態,並繼續與其他線程一起工作。