Многопоточность

Синхронизация потоков

1/9

Дан следующий сценарий: класс используется для того, чтобы дать возможность пользователям написать серию сообщений таким образом, чтобы каждое сообщение идентифицировалось временем и именем потока, который написал сообщение.

public class Logger {
    private StringBuilder contents = new StringBuilder();
    public void log(String message) {
        contents.append(System.currentTimeMillis());
        contents.append(": ");
        contents.append(Thread.currentThread().getName());
        contents.append(message);
        contents.append("\n");
    }
    public String getContents() { return contents.toString(); }
}

Каким образом переписать код, чтобы объекты этого класса могли быть безопасно использованы разными потоками?

Comments