次のメソッドは、Runnable を実装するオブジェクト A に属します。オブジェクト A からの他のメソッドと run メソッド内のコードによって非同期に呼び出されます (つまり、5 秒間隔で他のスレッドから呼び出されます)。
ファイル作成の例外が発生する可能性はありますか?
メソッドを同期化すると...ロックは常にオブジェクト A で取得されますか? 呼び出し元の 1 人がrun()メソッドにいるという事実は、私を混乱させます :S
ご意見ありがとうございます。
private void saveMap(ConcurrentMap<String, String> map) {
ObjectOutputStream obj = null;
try {
obj = new ObjectOutputStream(new FileOutputStream("map.txt"));
obj.writeObject(map);
} catch (IOException ex) {
Logger.getLogger(MessagesFileManager.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
obj.close();
} catch (IOException ex) {
Logger.getLogger(MessagesFileManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
notifyActionListeners();
}