자바 병렬 프로 그래 밍 lock 잠 금
1494 단어 자바 병발
class InsertData {
private ArrayList arrayList = new ArrayList();
private Lock lock = new ReentrantLock();
public void insert(Thread thread) {
lock.lock();
try {
for (int i = 0; i < 5; i++) {
System.out.println(thread.getName() + " " + i);
arrayList.add(i);
}
return;
} finally {
lock.unlock();
}
}
}
메모:(1)먼저 Lock 대상 을 만 들 고,이어서 lock 대상 을 호출 합 니 다.finally 자구 에 unlock 이 있 는 try-finally 자구 에 놓 아야 합 니 다.(2)return 문 구 는 try 자구 에 나타 나 야 합 니 다.unlock 이 너무 일찍 발생 하지 않도록 다음 스 레 드 에 데 이 터 를 노출 시 켜 야 합 니 다.