자바 병렬 프로 그래 밍 lock 잠 금

1494 단어 자바 병발
표 시 된 lock 잠 금 대상 을 사용 하려 면 명시 적,생 성,잠 금,방출 해 야 합 니 다.다음 synchronized 의 삽입 예 를 연결 하여 lock 형식 으로 바 꿉 니 다.
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 이 너무 일찍 발생 하지 않도록 다음 스 레 드 에 데 이 터 를 노출 시 켜 야 합 니 다.

좋은 웹페이지 즐겨찾기