0

オブジェクトをさまざまなデータ構造に格納するデータベース オブジェクトがあります。複数のスレッドがこのデータベースにアクセスしますが、データベースは常に最新であるとは限りません。あるスレッドでオブジェクトの名前を変更すると、他のスレッドがそのオブジェクトにまだアクセスしていない場合にのみ、その変更が他のスレッドに反映されます。1 つのスレッドに新しいアイテムを追加すると、すべてのスレッドがこのアイテムを表示できます。

データベースオブジェクトを揮発性として宣言しようとしましたが、問題は残り、アイデアがありません...

ありがとう!

.reset()編集: objectOutputStreamを呼び出さないことまで問題が追跡されました

4

2 に答える 2

1

データベース オブジェクト インスタンスへのアクセスを同期する必要があります。

Java には、2 つの基本的な同期イディオムがあります。

  • 同期されたメソッド (synchronizedデータベース オブジェクト インスタンスにアクセスするメソッドにキーワードを適用)
  • 同期されたステートメント (synchronizedブロック内のデータベース オブジェクト インスタンスにアクセスするコードをラップします)。

詳細

于 2013-05-13T22:20:02.277 に答える