我有一個Java類,其中有一個方法讀取數以千計的產品相關記錄。現在對於相同的ProductId
,我需要創建一個products(product beans)
的列表並將它們發送到不同類中的方法驗證。加速過程。Java多線程場景
我想到產生多個線程 - 每個線程負責發送產品id的每個產品列表到validate()
進行驗證。在驗證之後,還需要在調用類中調用另一個方法以供進一步處理。我知道Java中的Exceutor框架並且有一些關於它的信息。問題是爲此設計多線程解決方案是否可行?請指教。
例子:
Class A{
List<Product> prodList;-- this prod List is populated with productBeans with same prodId.
Class B = new Class B();
B.validate(prodList);
processNextStep();
我可以生成多個線程可以驗證產品的每一個列表? processNextStep()
此步驟需要在validate()完成後處理。
在此先感謝!
告訴我,如果我正確理解你的問題。您有大量產品列表,您可以使用大型列表中的產品填充另一個列表,並且需要驗證較小的列表。 –
Thanks @ bku_drytt。其實我試圖暗示的是,有成千上萬的記錄 - 與產品相關的 - 正在被讀取。現在,這些記錄需要根據產品標識進行分組,並且列表需要發送給validation.After驗證,下一步需要進行performed.So有序加快了各組的驗證過程中,我試圖利用多線程技術 – user5053360
是的,多線程聽起來像在那種情況下是一個好主意,爲您實現。您可以簡單地將記錄拆分爲您選擇的獨立容器(列表),並讓每個線程在其關聯的容器上執行驗證。所以如果你的驗證函數需要一個數組參數,只需要讓每個線程都用自己的記錄數組來執行那個函數。 –