:StringBufferまたはsynchronizedメソッドですか?私は次のコードしている
public class MyLogger {
private StringBuilder logger = new StringBuilder();
public void log(String message, String user) {
logger.append(message);
logger.append(user);
}
}
プログラマは単一MyLoggerオブジェクトが マルチスレッドシステムに正常に動作することを保証しなければなりません。 このコードをスレッドセーフにするにはどのように変更する必要がありますか?
A.ログメソッドを同期
B. StringBuffer
とStringBuilder
を交換する最良の方法を教えてください。
だから、これはロガーに蓄積し、ポイントは何ですか? –
私は、両方の文字列のコピーを保持する 'LogEntry'クラスのインスタンスと、Blocking Queueの終わりで待機するロガースレッドへのコマンドを使用することをお勧めします。 –