疑問に思うのは、Arraylist
の値を2番目のスレッドから最初のスレッドによって追加できるということです。等々。 各スレッドはリストを変更し、すべてのスレッドで更新リストを使用できるようにする必要があります。マルチスレッドJavaプログラム内の別のスレッドでArrayListの値にアクセスする方法
ご協力いただければ幸いです。
おかげ
疑問に思うのは、Arraylist
の値を2番目のスレッドから最初のスレッドによって追加できるということです。等々。 各スレッドはリストを変更し、すべてのスレッドで更新リストを使用できるようにする必要があります。マルチスレッドJavaプログラム内の別のスレッドでArrayListの値にアクセスする方法
ご協力いただければ幸いです。
おかげ
あなたはコレクションクラス静的メソッドを使用して同期のArrayListを作成してみjava.util.concurrent.CopyOnWriteArrayList
を使用することができます。 ArrayListの下に
が同期されます。
List<String> synArraylist = Collections.synchronizedList(new ArrayList<String>());
@PramodYadav:便利な何もしないでしょう。 –
適切な同期を使用してこれを達成できます。しかし、スレッド間で通信する必要がある場合は、 'java.util.concurrent'パッケージとは異なるデータ構造を使用する方がよいでしょう。彼らはキューのようなもののためのコレクションをspezializedしています。 – Thilo
キューを使用する例:[ConcurrentLinkedQueueの使い方?](https://stackoverflow.com/questions/616484/how-to-use-concurrentlinkedqueue) –