====== Java Concorrent Programming ====== * [[java:8:completable_future|Java 8 CompletableFuture]] * [[java:concurrent:executorservice|Java ExecutorService]] * [[http://www.javacodegeeks.com/2015/09/java-concurrency-essentials.html|Java Concurrency Essentials Tutorial ]] * [[http://java67.blogspot.kr/2015/07/how-to-join-two-threads-in-java-example.html|How to join two threads in Java? Thread.join() example]] * [[http://javarevisited.blogspot.kr/2014/07/top-50-java-multithreading-interview-questions-answers.html|Top 50 java multithreading interview questions and answers]] * [[http://tmondev.blog.me/220945933678|Java8 Parallel Stream, 성능장애를 조심하세요!]] * [[https://dzone.com/articles/6-best-books-to-learn-multithreading-and-concurren|6 Best Books to Learn Multithreading and Concurrency in Java - DZone Java]] * [[https://maildroppa.com/|Java Concurrency and Multithreading Tutorial]] ===== backport jsr 166 ===== * [[http://backport-jsr166.sourceforge.net/|backport-util-concurrent - Distributed Computing Laboratory, Emory University]] ===== double checked locking ===== * [[https://en.wikipedia.org/wiki/Double-checked_locking|Double-checked locking - Wikipedia]] ===== CompletionService ===== * Future, [[https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CompletionService.html|CompletionService]] 조합으로 특정 비동기 작업의 최종 결과를 취합할 수 있다. * [[https://stackoverflow.com/questions/4912228/when-should-i-use-a-completionservice-over-an-executorservice|java - When should I use a CompletionService over an ExecutorService?]] * ExecutorService = incoming queue + worker threads * CompletionService = incoming queue + worker threads + output queue * [[https://examples.javacodegeeks.com/core-java/util/concurrent/completionservice/java-completionservice-example/|Java CompletionService Example]] * [[http://blog.teamlazerbeez.com/2009/04/29/java-completionservice/|Under-appreciated Java Classes Part I: CompletionService]] * [[http://rdafbn.blogspot.kr/2013/01/executorservice-vs-completionservice-vs.html|Remove duplications and fix bad names: ExecutorService VS CompletionService VS normal loop]] ===== 참조 ===== * [[https://javarevisited.blogspot.com/2015/06/java-lock-and-condition-example-producer-consumer.html|How to use Lock and Condition variable in Java? Producer Consumer Example Tutorial]]