Doug Lea
http://g.oswego.edu/
5 things you didn't know about... java.util.concurrent
http://www.ibm.com/developerworks/java/library/j-5things4.html
http://www.ibm.com/developerworks/java/library/j-5things5.html
5 things you didn't know about... java.util.concurrent (한글)
https://www.ibm.com/developerworks/kr/library/j-5things4.html
http://www.ibm.com/developerworks/kr/library/j-5things5.html
자바캔 Java Concurrency : Executor & Callable/Future
http://javacan.tistory.com/entry/134
Java Tutorial - Lesson: Concurrency
http://download.oracle.com/javase/tutorial/essential/concurrency/
Concurrent Programming with J2SE 5.0
http://java.sun.com/developer/technicalArticles/J2SE/concurrency/
http://g.oswego.edu/
5 things you didn't know about... java.util.concurrent
http://www.ibm.com/developerworks/java/library/j-5things4.html
http://www.ibm.com/developerworks/java/library/j-5things5.html
5 things you didn't know about... java.util.concurrent (한글)
https://www.ibm.com/developerworks/kr/library/j-5things4.html
http://www.ibm.com/developerworks/kr/library/j-5things5.html
Part 1. * TimeUnit : 시간 단위, TimeUnit.SECOND, TimeUnit.MILLISECOND * CopyOnWriteArrayList : read often, write rarely * BlockingQueue : queue.take() method 호출했을 때, Queue가 비어있으면 계속 기다린다 * ConcurrentMap : ConcurrentHashMap * SynchronousQueues : BlockingQueue와 같고, 기다리는 consumner가 있어야만, producer가 insert할 수 있다 Part 2. * Semaphore : new Semaphore(3), sem.acquire(), sem.release() * CountDownLatch : new CountDownLatch(5), start.await(), start.countDown() * Executor, ExecutorService, ScheduledExecutorService : run Runnable or Callable, No fussing with Thread. |
자바캔 Java Concurrency : Executor & Callable/Future
http://javacan.tistory.com/entry/134
Java Tutorial - Lesson: Concurrency
http://download.oracle.com/javase/tutorial/essential/concurrency/
Concurrent Programming with J2SE 5.0
http://java.sun.com/developer/technicalArticles/J2SE/concurrency/
Overview of Concurrency Utilities
Task scheduling framework : Executor
Concurrent collections
Atomic variables Synchronizers : semaphore, mutex, barrier, latch, exchanger Locks : limitation of built-in monitor, synchronized Nanosecond-granurity
java.util.concurrent package
Semaphore : A classic concurrency tool
CyclicBarrier : A resettable multiway synchronization point CountDownLatch : A utility for blocking until a given number of signals, events, or conditions hold. Exchanger : Allows two thread to exchange objects at a rendezvous point, and can be useful in pipeline designs.
java.util.concurrent.locks
AtomicInteger number = new AtomicInteger(); number.getAndIncrement(); |