には2つのオプションスレッドごとに新しいCallableオブジェクトを作成する必要はありますか?ここ
1)1コーラブル作成し、それを複数回
Callable<String> callable = new MyCallable();
for(int i=0; i< 100; i++){
Future<String> future = executor.submit(callable);
list.add(future);
}
2を提出)各スレッド
for(int i=0; i< 100; i++){
Future<String> future = executor.submit(new MyCallable());
list.add(future);
}
のベストプラクティスとは何であるため、複数の呼び出し可能オブジェクトを作成していますか?あなたのMyCallable
あるスレッドセーフなクラスが、あなたはそれの同じインスタンスを再利用することができた場合は
異なる呼び出し可能オブジェクトが必要です。 – jn1kk
ありがとうございます。これは私が思ったことです。しかし、私を混乱させる例がhttp://www.journaldev.com/1090/java-callable-future-exampleです。 1つの呼び出し可能なものを使用します – john
@ jn1kk - それはそのクラスが何をするかによって異なります。複数のスレッドから同じCallableを呼び出すことに本質的に間違っていることはありません。 –