Language/java소스
자바 - 다중 쓰레드 동기화
아라한사
2014. 4. 17. 11:53
으음.. 요지는
일단 쓰레드는 쓰레드 대로 돌리고 , 메소드를 하나 분리시켜서 싱크로나이즈드를 맥여야 동기화가 된다.
결과물
//1초에 한번씩 현재 시각과 안녕하세요를 출력하는 프로그램을 작성 package 챕23스레드; import java.util.Date; class printDate extends Thread{ Date d; int i=0; printDate(int i){ this.i=i; } public void run(){ while(true){ d = new Date(System.currentTimeMillis()); try { Thread.sleep(1000); System.out.print(d); message(); } catch (InterruptedException e) { } } } public synchronized void message(){ if(i==0) System.out.println(" 안녕하세요?"); if(i==1) System.out.println(" 안녕히 계세요~"); } } public class Quest02 { public static void main(String[] args) { Thread t = new printDate(0); t.start(); Thread t1 = new printDate(1); t1.start(); } }