동기화란 하나의 작업이 완전히 완료된 후 다른 작업을 수행하는 것이다. 멀티쓰레드를 사용할 땐 동기화가 필요하다. 동기화를 사용하지 않았을 때 문제 발생 // 공유 객체 class MyData{ int data = 3; public void plusData(){ int mydata=data; // 데이터 가져오기 try {Thread.sleep(2000);} catch(InterruptedException e){} data=mydata+1; // 2초 후에 값을 1만큼 증가 } } // 공유 객체를 사용하는 쓰레드 class PlusThread extends Thread{ MyData myData; public PlusThread(MyData myData){ // 생성자의 매개변수로 MyData 객체를 ..