2017-07-03 108 views
-4

我有一個包含大約10,000個JSON對象的JSON數組。 我想迭代數組並調用java方法來處理每個JSON對象。我想有幾個線程,可能是4個來同時處理它們。JSON數組和多線程

我想知道這是做的正確的方式或者是還有什麼更好的解決辦法

回答

1

好問題。

JsonArray由多個JsonObjects組成。

一種使用java 8同時處理數組中的jsonObjects的方法是使用IntStream和parallStream(),像這樣。

int size = jsonArray.size(); 
// Suppose you want 5 threads to do the tasks 
ForkJoinPool forkJoinPool = new ForkJoinPool(5); 

forkJoinPool.submit(() -> 
IntStream.range(1, size).parallel().filter(i -> { YourFunction(jsonArray.get(i))};); 

編輯:

確保您的函數是線程安全的

+0

非常感謝。我嘗試了你的建議,並改變了一些以適應我的要求 –