2017-07-03 11 views
-4

私は約10,000のJSONオブジェクトを含むJSON配列を持っています。 配列を反復処理して、各JSONオブジェクトを処理するJavaメソッドを呼び出す必要があります。私はスレッドをいくつも持っていたいと思っていますが、それらを同時に処理するには4つかもしれません。JSON配列とマルチスレッド

は、私は、これはそれを行うための正しい方法があるか、任意のより良い解決策

答えて

1

いい質問があるかどうかを知りたいです。

JsonArrayは複数のJsonObjectで構成されています。

配列内のjsonObjectsを同時に処理する方法として、java 8を使用する場合は、このようにparStreamStream()を使用してIntStreamを使用します。

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

おかげでたくさんあることを確認してください。私はあなたの提案を試み、私の要件に合うように少し変更しました –