2012-10-05 64 views
1

我使用Java編程。我有一個工作池(BlockingQueue),一些線程會監視這個池。當有新工作時,線程會嘗試接受這份工作。作業執行一些任務,因此當作業尚未完成時,我不希望操作系統將CPU用於其他線程。這意味着我希望我的工作是一項基本工作。如何在Java中編寫原子函數?

+0

用java編寫,想要控制CPU。這個問題不是很清楚。 – Jayan

回答

4

我不認爲這是可能的。您不能從Java代碼更改操作系統級CPU調度。你可以做的最好的事情是給你的線程高優先級。但退一步。通過使其成爲原子,你想要什麼? Java提供同步以確保另一個線程在其中有一個線程時不會進入某個代碼塊。

+0

親愛的薩默爾, 我明白了。我會嘗試使用同步來解決這個問題。非常感謝! – kop