티스토리 뷰
// 여러개의 쓰레드가 한꺼번에 동작할 때... 발생하는 문제의 해결.... // 하나의 데이터 처리에 대해 쓰레드가 설정되어 있다면, 그 데이터를 관리하는 메소드는 동기화 할것.. // 하나의 메소드 내에서는 지역적으로 동기화... class K extends Thread{ private int x = 100; public void setX(int x){ this.x +=x; } public int getX(){ return x; } public synchronized void run(){ // 한사람이 이 메소드를 호출하면 다른이가 호출하지 못하도록 Lock(메소드 전체의 동기화) setX(200); System.out.println("x = " + getX()); } /* public synchronized void run(){ synchronized (this) { // 메소드 내의 일부분만 지역적으로만 동기화. setX(200); System.out.println("x = " + getX()); } } */ } public class _3_2 { public static void main(String[] args) { K kp = new K(); kp.start(); } }
'dev > java' 카테고리의 다른 글
[15] 예외처리 : try - catch - finally (0) | 2008.09.29 |
---|---|
[15] 예외 발생 시키기 (0) | 2008.09.29 |
[15] Thread 이용해서 시간출력.. ㅎㅎ (0) | 2008.09.29 |
[15] Thread 관련 이것저것 (0) | 2008.09.27 |
[15] Thread 만들기 기본.. (0) | 2008.09.27 |
공지사항