ユーザーはArrayListに追加されず、そのスレッドによって挿入された要素が1つだけ印刷されます。ここで何を変更しなければなりませんか?Javaの別のスレッドクラスのmain()でオブジェクトを更新して使用する方法
私はsynchronized(users)を使用しようとしましたが、まだ動作しません。
ユーザーはArrayListに追加されず、そのスレッドによって挿入された要素が1つだけ印刷されます。ここで何を変更しなければなりませんか?Javaの別のスレッドクラスのmain()でオブジェクトを更新して使用する方法
私はsynchronized(users)を使用しようとしましたが、まだ動作しません。
スレッド間で共有されるArrayListはありません。各MyThreadオブジェクトはMultiThreadの独自のインスタンスを作成し、そのために独自のArrayListに追加します。
MultiThread.usersをstaticおよびadduser staticにするか、MyThreadの外にMultiThreadオブジェクトを作成し、同じMultiThreadインスタンスをすべてのMyThreadオブジェクトに渡す必要があります。
すべてのスレッドに同じMultiThread
オブジェクトを渡す必要があります。すべてのスレッドがMultiThread
オブジェクトの新しいインスタンスを作成しています。