我一直在整個網絡中拖釣。沒有一個真正的答案。我希望有人能給我一些建議。Java併發性問題線程vs executorservice
我正在嘗試構建的是一個自動採購商類型的應用程序,需要進行投標競拍並檢查我想購買的物品是否可用。
所以在概念上,我想我應該可以開始運行所有的時間(直到我告訴它停止)
一個線程,當它找到一個項目應該啓動另一個線程,要麼出價或購買該物品。
我的代碼全部做完了,它的機制就是我所堅持的線程。
的第一個問題是我已經能夠使用線程/可運行和使用也執行服務
但我不知道如何讓線程繼續處理所有實例啓動線程.....然後讓我發出某種命令時,我想停止程序,將停止線程的...
一些指導,將不勝感激
只要您給它一個線程去做。如果您想定期執行某項操作,則可以使用計劃任務,該任務在完成時取消。 –
嗨,彼得, 葉我想我明白了。目前我只是放了一段時間(runningvar),直到我殺了程序。我希望我可以在runnable類中使用一個變量,當我想停止正在運行的線程時,我只需將該變量更新爲false,這將導致線程結束。但我不知道如何獲得當前正在運行的線程的句柄或如何調用將更新該變量的類中的方法。 –
線程池或['ExecutorService'](http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ExecutorService.html)用於處理很多通常很短的任務。長時間循環輪詢不是一項應該以這種方式運行的任務。所以,這取決於應用程序的設計:您是否有幾個快速執行的任務,或者您是否希望在循環中運行更長的操作? – JimmyB