Concurrency JSR-166

Tags:

Concurrency JSR-166 Interest Site
http://gee.cs.oswego.edu/dl/concurrency-interest/

A First Look at JSR 166: Concurrency Utilities
http://today.java.net/pub/a/today/2004/03/01/jsr166.html

드디어 JSR 166에 대해서도 이야기가 나오네요. volatile의 구현여부, 메모리모델의 변화 등에 관심이 가는군요.


Lock l = ...;
l.lock();
try {
    // access the resource protected by this lock
} finally {
    l.unlock();
}

본문에서 ‘엄마 봐요, synchronize키워드가 없어요’라고 설명한 코드 -_-;
Lock 클래스를 통해 오랜동안의 숙원이었던 timed wait, polling, lock 대기중인 쓰레드에대한 interrupt 등이 가능하게 되었네요. 이 모든것이, compare-and-swap이 JVM 1.5부터 지원되서 가능해진 것이라고 하는군요. (오호~ OS책에서만 본 compare-and-swap이란 말이죠… ^^)

더구나 ConcurrentXxx(e.g., ConcurrentHashMap)등은 다수의 reader와 writer를 동시 수용가능하도록 코드를 조심스럽게 코딩하여서 concurrency를 극도로 높였다고 합니다. (심지어 16개의 writer가 동시 동작 가능 -_-;;;) 하지만 이런 클래스는 극도로 복잡하고, 자바의 내부를 잘 이해해야하므로 집에서는 시도하지 말라는군요.. ㅋㅋ 하지말라면 해보고 싶자나..

아무튼 최초로 본 JSR 166에 대한 tutorial 이었습니다.
너무 허접한 튜토리얼이지만 -_-;;

언제쯤 제대로 된 JSR 166 문서가 나올런지.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *