티스토리 뷰
// 여러개의 쓰레드가 한꺼번에 동작할 때... 발생하는 문제의 해결....
// 하나의 데이터 처리에 대해 쓰레드가 설정되어 있다면, 그 데이터를 관리하는 메소드는 동기화 할것..
// 하나의 메소드 내에서는 지역적으로 동기화...
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 |
공지사항
