package CHAPTER12;

//Logger 클래스: 여러 스레드에서 안전하게 로그 출력
class Logger {
	// synchronized 메서드로 스레드 안전하게 로그 출력
	public static synchronized void log(String message) {
		System.out.println("[LOG] " + message);
	}
}

public class C12_08_LoggerTest {
	public static void main(String[] args) {
		Runnable task = () -> {
			for (int i = 1; i <= 5; i++) {
				Logger.log(Thread.currentThread().getName() + " - 메시지 " + i);
				try {
					Thread.sleep(100);
				} catch (InterruptedException e) {
				}
			}
		};

		Thread t1 = new Thread(task, "스레드 A");
		Thread t2 = new Thread(task, "스레드 B");

		t1.start();
		t2.start();
	}
}
