際際滷

際際滷Share a Scribd company logo
Usage java.util.concurrence
in Java
For students of universities
Author: Oxana Dudnik
Usage concurrence in java
Usage concurrence in java
Usage concurrence in java
Usage concurrence in java
Usage concurrence in java
Usage concurrence in java
BlockingQueue
仆亠亠亶 BlockingQueue 磦仍磳 仂亠亠亟
(Queue), .亠. 亠亞仂 仍亠仄亠仆 舒仆 于 仗仂磲从亠
束仗亠于亶 仗亳亠仍, 仗亠于亶 于亠仍損 (FIFO  first in, first
out). 亅仍亠仄亠仆, 于舒于仍亠仆仆亠 于 从仂仍仍亠从亳 于
仂仗亠亟亠仍亠仆仆仂仄 仗仂磲从亠, 弍亟 亳亰于仍亠亠仆 亳亰 仆亠亠 于
仂仄 亢亠 舒仄仂仄 仗仂磲从亠. 丐舒从亢亠 亳仆亠亠亶
亞舒舒仆亳亠, 仂 仍ミ頴委 仗仂仗从舒 亳亰于仍亠 仍亠仄亠仆 亳亰
仗仂亶 仂亠亠亟亳 亰舒弍仍仂从亳亠 于亰于舒ム亳亶 仗仂仂从 亟仂
亠 仗仂, 仗仂从舒 于 从仂仍仍亠从亳亳 仆亠 仗仂磦亳 仍亠仄亠仆,
从仂仂亶 仄仂亢仆仂 亳亰于仍亠. 仆舒仍仂亞亳仆仂, 仍ミ頴委 仗仂仗从舒
于舒于亳 仍亠仄亠仆 于 亰舒仗仂仍仆亠仆仆 仂亠亠亟
亰舒弍仍仂从亳亠 于亰于舒ム亳亶 仗仂仂从, 仗仂从舒 于 从仂仍仍亠从亳亳 仆亠
仂于仂弍仂亟亳 仄亠仂 亟仍 仆仂于仂亞仂 仍亠仄亠仆舒.
Usage concurrence in java
Usage concurrence in java
Usage concurrence in java
弌亠仄舒仂 亳仗仂仍亰亠 亟仍
仂弍仄亠仆舒 亳亞仆舒仍舒仄亳 仄亠亢亟
仗仂仂从舒仄亳, 亳仍亳 亢亠 亟仍 仂舒仆
从亳亳亠从仂亶 亠从亳亳.  舒从亢亠
仄仂亢仆仂 亳仗仂仍亰仂于舒 亳 于仄亠仂
仍仂从仂于.
Usage concurrence in java
CountDownLatch
仂亰于仂仍磳 仂亟仆仂仄 亳仍亳 仆亠从仂仍从亳仄 仗仂仂从舒仄 仂亢亳亟舒
亟仂 亠 仗仂, 仗仂从舒 仆亠 亰舒于亠亳 仂仗亠亟亠仍亠仆仆仂亠
从仂仍亳亠于仂 仂仗亠舒亳亶, 于仗仂仍仆ム亳 于 亟亞亳
仗仂仂从舒.
亠舒仍亳亰亠 亳仆仂仆亳亰舒亳仂仆仆 仄仂亟亠仍 束亠从仂仍亟損
 仂亰亟舒亠 亠从仂仍亟舒 ( 仆舒舒仍仆仄 亳仍仂仄 于
从舒亠于亠 仗舒舒仄亠舒-亠亳从舒), 从仂仂舒 仗仂亠仗亠仆仆仂
于仆亳仄舒亠  于仗仂仍仆亠仆亳亠 从舒从亳-仂 仂仗亠舒亳亶 (从舒从
仂仍从仂 舒从舒 仂仗亠舒亳 于仗仂仆亠仆舒, 于亰于舒亠
仄亠仂亟 void countDown(), 仄亠仆舒ム亳亶 亠亳从).
仂仂从亳, 从仂仂亠 亟仂仍亢仆 仗仂亟仂亢亟舒 从仂仆舒
于仗仂仍仆亠仆亳 亟舒仆仆仂亶 亠仗仂从亳 仂仗亠舒亳亶, 于亰于舒ム
仄亠仂亟 await() 亳 弍仍仂从亳ム. 舒从 仂仍从仂 亠从仂仍亟舒
弍亟亠 于仆舒 (亠亳从 仗舒亟亠 亟仂 仆仍), 于亠
仂亢亳亟舒ム亳亠 仗仂仂从亳 舒亰弍仍仂从亳ム 亳 仗仂亟仂仍亢舒ム
于仗仂仍仆亠仆亳亠.
Usage concurrence in java
CyclicBarrier
 亠舒仍亳亰亠 亳仆仂仆亳亰舒亳仂仆仆 仄仂亟亠仍
束亠从仂仍亟損  仂亰亟舒亠 亠从仂仍亟舒 (
仆舒舒仍仆仄 亳仍仂仄 于 从舒亠于亠
仗舒舒仄亠舒-亠亳从舒), 从仂仂舒 仗仂亠仗亠仆仆仂
于仆亳仄舒亠  于仗仂仍仆亠仆亳亠 从舒从亳-仂
仂仗亠舒亳亶 (从舒从 仂仍从仂 舒从舒 仂仗亠舒亳
于仗仂仆亠仆舒, 于亰于舒亠 仄亠仂亟 void
countDown(), 仄亠仆舒ム亳亶 亠亳从).
仂仂从亳, 从仂仂亠 亟仂仍亢仆 仗仂亟仂亢亟舒 从仂仆舒
于仗仂仍仆亠仆亳 亟舒仆仆仂亶 亠仗仂从亳 仂仗亠舒亳亶,
于亰于舒ム 仄亠仂亟 await() 亳 弍仍仂从亳ム. 舒从
仂仍从仂 亠从仂仍亟舒 弍亟亠 于仆舒 (亠亳从
仗舒亟亠 亟仂 仆仍), 于亠 仂亢亳亟舒ム亳亠 仗仂仂从亳
舒亰弍仍仂从亳ム 亳 仗仂亟仂仍亢舒ム
于仗仂仍仆亠仆亳亠.
亳于亠亟亳亠 仆舒亳弍仂仍亠亠
亠于亠仆仆仂亠 仂仍亳亳亠 仄亠亢亟
CountDownLatch 亳 Barrier.
Barrier 仆舒从舒仗仍亳于舒亠 仗仂仂从亠 于 仂从亠 于亰仂于舒
await() 仗仂从舒 亳 从仂仍亳亠于仂 仆亠 仗亠于亳
亰舒亟舒仆仆仂亠. CountDownLatch 亢亟亠 仗仂从舒
从仂仍亳亠于仂 于亰仂于仂于 countDown() 仆亠 仗亠于亳
仆亢仆仂亠, 亳 仂亞亟舒 舒亰弍仍仂从亳亠 await().
FutureResult (弍亟亳亶
亠亰仍舒)
仆仂亞亟舒 于 仂亳亠 亰舒仗亳 仗仂亠 舒亳仆仂仆仆仂, 于
仆舒亟亠亢亟亠, 仂 亠亰仍舒 仂亞仂 仗仂亠舒 弍亟
亟仂仗仆 仗仂亰亢亠, 从仂亞亟舒 仂仆亳 于舒仄 仗仂仆舒亟仂弍.
仗仂仄仂亞舒亠仍仆亶 从仍舒 FutureResult 仗仂舒亠 
亰舒亟舒. FutureResult 亳亰仂弍舒亢舒亠 亰舒亟舒, 从仂仂仂亶
仄仂亢亠 仗仂亠弍仂于舒 仆亠从仂仂仂亠 于亠仄 仆舒
于仗仂仍仆亠仆亳亠, 亳 从仂仂舒 仄仂亢亠 于仗仂仍仆 于 亟亞仂仄
仗仂仂从亠, 舒 仂弍亠从 FutureResult 仍亢亳 亠仆亟仍仂仄 从
仂仄 仗仂亠 于仗仂仍仆亠仆亳. 丼亠亠亰 仆亠亞仂 于 仄仂亢亠亠
于仆亳, 亰舒于亠亳仍舒 仍亳 亰舒亟舒舒, 仗仂亟仂亢亟舒 亠亠
亰舒于亠亠仆亳 亳 仗仂仍亳 亠亠 亠亰仍舒. FutureResult
仄仂亢亠 弍 仂弍亠亟亳仆亠仆  Executor; 于 仄仂亢亠亠
仂亰亟舒 FutureResult 亳 仗仂舒于亳 亠亞仂 于 仂亠亠亟 从
仂弍舒弍仂亳从, 仂舒仆 仍从 仆舒 FutureResult.
仂弍舒弍仂亳从 (Executor)
Util.concurrent 仂仗亠亟亠仍磳 亳仆亠亠亶
Executor, 亟仍 舒亳仆仂仆仆仂亶 仂弍舒弍仂从亳
Runnable-舒弍仂, 舒 舒从亢亠 仂仗亠亟亠仍磳
仆亠从仂仍从仂 亠舒仍亳亰舒亳亶 仂弍舒弍仂亳从舒
Executor, 从仂仂亠 仗亠亟仍舒亞舒ム 舒亰仍亳仆亠
舒舒从亠亳亳从亳 仗仍舒仆亳仂于舒仆亳. 仂舒仆仂于从舒
亰舒亟舒亳 于 仂亠亠亟 从 仂弍舒弍仂亳从 亟亠仍舒亠
亟仂于仂仍仆仂 仗仂仂:
Executor executor = new QueuedExecutor();
...
Runnable runnable = ... ;
executor.execute(runnable);
ExecutorService
仆亠亠亶, 从仂仂亶 仂仗亳于舒亠
亠于亳 亟仍 亰舒仗从舒 Runnable 亳仍亳
Callable 亰舒亟舒. 亠仂亟 submit 仆舒
于仂亟 仗亳仆亳仄舒ム 亰舒亟舒 于 于亳亟亠
Callable 亳仍亳 Runnable, 舒 于 从舒亠于亠
于仂亰于舒舒亠仄仂亞仂 亰仆舒亠仆亳 亳亟亠
Future, 亠亠亰 从仂仂亶 仄仂亢仆仂
仗仂仍亳 亠亰仍舒.
java.util.concurrent.locks
ReenterantLock  亟于仂亳仆亶 亠仄舒仂  于仂亰仄仂亢仆仂
仄仆仂亞仂从舒仆仂亞仂 亰舒于舒舒 仂亟仆亳仄 仗仂仂从仂仄.
void lock() 亰舒于舒于舒亠 亠仄舒仂 亟仍 亠从亠亞仂 仗仂仂从舒
void unlock() 仂于仂弍仂亢亟舒亠 亠仄舒仂, 亰舒于舒亠仆仆亶 亠从亳仄
仗仂仂从仂仄
Condition newCondition()  于仂亰于舒舒亠 仂弍亠从-仍仂于亳亠,
于磶舒仆仆亶  亟舒仆仆仄 亠仄舒仂仂仄. 仂亢仆仂 亳仗仂仍亰仂于舒 仂
仍仂于亳亠 亟仍 弍仍仂从亳仂于从亳 仗仂仂从仂于 亟仂 亠亞仂 仆舒仗仍亠仆亳. 仂仂从
弍仍仂从亳亠 于亰仂于仂仄 await()  仂弍亠从舒-仂弍亳 亳 仂于仂弍仂亢亟舒亠,
从仂亞亟舒  仂亞仂 亢亠 仂弍亳 弍亟亠 于亰于舒仆 仄亠仂亟 signal()
(仂于仂弍仂亢亟舒亠 仂仍从仂 仂亟亳仆 仗仂仂从) 亳仍亳 signalAll() (仂于仂弍仂亢亟舒亠 于亠
弍仍仂从亳仂于舒仆仆亠 仗仂仂从亳).
java.util.concurrent.atomic
 仗舒从亠 java.util.concurrent.atomic
于仂亟 9 于亳亟仂于 舒仂仄舒仆
仗亠亠仄亠仆仆 (AtomicInteger;
AtomicLong; AtomicReference;
AtomicBoolean; 仂仄 亟仍 仄舒亳于仂于
舒仂仄舒仆 亠仍 亳亠仍; 亟仍亳仆仆亠
(long); 仍从亳; 舒 舒从亢亠 舒仂仄舒仆亠 
仗仂仄亠从仂亶 仍舒 舒仍仂仆舒 (reference),
从仂仂亠 舒仂仄舒仆仂 仂弍仆仂于仍ム 亟于亠
于亠仍亳亳仆).
AtomicInteger atomicInteger = new
AtomicInteger(123);
int expectedValue = 123;
int newValue = 234;
atomicInteger.compareAndSet(expectedValue,
newValue);
System.out.println(atomicInteger.getAndAdd(10));
System.out.println(atomicInteger.addAndGet(10));

More Related Content

What's hot (20)

于亠亟亠仆亳亠 于 亠亠于亠 亠仆仂仍仂亞亳亳
于亠亟亠仆亳亠 于 亠亠于亠 亠仆仂仍仂亞亳亳于亠亟亠仆亳亠 于 亠亠于亠 亠仆仂仍仂亞亳亳
于亠亟亠仆亳亠 于 亠亠于亠 亠仆仂仍仂亞亳亳
Unguryan Vitaliy
Android 仂亠仆 2013 仍亠从亳 3
Android 仂亠仆 2013 仍亠从亳 3Android 仂亠仆 2013 仍亠从亳 3
Android 仂亠仆 2013 仍亠从亳 3
Technopark
丼舒 6: 从亠舒亳 从仂仆亠亶仆亠仂于
丼舒 6: 从亠舒亳 从仂仆亠亶仆亠仂于丼舒 6: 从亠舒亳 从仂仆亠亶仆亠仂于
丼舒 6: 从亠舒亳 从仂仆亠亶仆亠仂于
Oleg Popov
C++ STL & Qt. 舒仆亳亠 08.
C++ STL & Qt. 舒仆亳亠 08.C++ STL & Qt. 舒仆亳亠 08.
C++ STL & Qt. 舒仆亳亠 08.
Igor Shkulipa
Lab5
Lab5Lab5
Lab5
ssuser568529
Java. 弌弍仂亳从 仄仂舒. 舒弍仂舒 仗舒仄.
Java.  弌弍仂亳从 仄仂舒. 舒弍仂舒  仗舒仄. Java.  弌弍仂亳从 仄仂舒. 舒弍仂舒  仗舒仄.
Java. 弌弍仂亳从 仄仂舒. 舒弍仂舒 仗舒仄.
Unguryan Vitaliy
10 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 仂仆仂于
10 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 仂仆仂于10 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 仂仆仂于
10 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 仂仆仂于
Roman Brovko
Java 于亠仆舒 2014 仍亠从亳 5
Java 于亠仆舒 2014 仍亠从亳 5Java 于亠仆舒 2014 仍亠从亳 5
Java 于亠仆舒 2014 仍亠从亳 5
Technopark
Rx android
Rx androidRx android
Rx android
GDG Odessa
Java 仂亠仆 2013 仍亠从亳 6
Java 仂亠仆 2013 仍亠从亳 6Java 仂亠仆 2013 仍亠从亳 6
Java 仂亠仆 2013 仍亠从亳 6
Technopark
Multiprocessor Programming Intro (lecture 3)
Multiprocessor Programming Intro (lecture 3)Multiprocessor Programming Intro (lecture 3)
Multiprocessor Programming Intro (lecture 3)
Dmitry Tsitelov
Linux Kernel Processes
Linux Kernel ProcessesLinux Kernel Processes
Linux Kernel Processes
Eduard Antsupov
亠亟仂舒从亳 Linux API 仂从亳 亰亠仆亳 舒亰舒弍仂亳从舒 于亠弍-亠于亠舒.
亠亟仂舒从亳 Linux API  仂从亳 亰亠仆亳 舒亰舒弍仂亳从舒 于亠弍-亠于亠舒.亠亟仂舒从亳 Linux API  仂从亳 亰亠仆亳 舒亰舒弍仂亳从舒 于亠弍-亠于亠舒.
亠亟仂舒从亳 Linux API 仂从亳 亰亠仆亳 舒亰舒弍仂亳从舒 于亠弍-亠于亠舒.
Alexandr Nox
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Iosif Itkin
C++ STL & Qt. 舒仆亳亠 09.
C++ STL & Qt. 舒仆亳亠 09.C++ STL & Qt. 舒仆亳亠 09.
C++ STL & Qt. 舒仆亳亠 09.
Igor Shkulipa
丱舒仆亳仄亠 仗仂亠亟 于 NoSQL 弌丕 仆舒 仗亳仄亠亠 Tarantool / 亠仆亳 亳仆仆亳从 (Mail.Ru)
丱舒仆亳仄亠 仗仂亠亟 于 NoSQL 弌丕 仆舒 仗亳仄亠亠 Tarantool / 亠仆亳 亳仆仆亳从 (Mail.Ru)丱舒仆亳仄亠 仗仂亠亟 于 NoSQL 弌丕 仆舒 仗亳仄亠亠 Tarantool / 亠仆亳 亳仆仆亳从 (Mail.Ru)
丱舒仆亳仄亠 仗仂亠亟 于 NoSQL 弌丕 仆舒 仗亳仄亠亠 Tarantool / 亠仆亳 亳仆仆亳从 (Mail.Ru)
Ontico
Thread
ThreadThread
Thread
Alexander Rusin
Date & Time in Java SE 8
Date & Time in Java SE 8Date & Time in Java SE 8
Date & Time in Java SE 8
Ilya Lapitan
于亠亟亠仆亳亠 于 亠亠于亠 亠仆仂仍仂亞亳亳
于亠亟亠仆亳亠 于 亠亠于亠 亠仆仂仍仂亞亳亳于亠亟亠仆亳亠 于 亠亠于亠 亠仆仂仍仂亞亳亳
于亠亟亠仆亳亠 于 亠亠于亠 亠仆仂仍仂亞亳亳
Unguryan Vitaliy
Android 仂亠仆 2013 仍亠从亳 3
Android 仂亠仆 2013 仍亠从亳 3Android 仂亠仆 2013 仍亠从亳 3
Android 仂亠仆 2013 仍亠从亳 3
Technopark
丼舒 6: 从亠舒亳 从仂仆亠亶仆亠仂于
丼舒 6: 从亠舒亳 从仂仆亠亶仆亠仂于丼舒 6: 从亠舒亳 从仂仆亠亶仆亠仂于
丼舒 6: 从亠舒亳 从仂仆亠亶仆亠仂于
Oleg Popov
C++ STL & Qt. 舒仆亳亠 08.
C++ STL & Qt. 舒仆亳亠 08.C++ STL & Qt. 舒仆亳亠 08.
C++ STL & Qt. 舒仆亳亠 08.
Igor Shkulipa
Java. 弌弍仂亳从 仄仂舒. 舒弍仂舒 仗舒仄.
Java.  弌弍仂亳从 仄仂舒. 舒弍仂舒  仗舒仄. Java.  弌弍仂亳从 仄仂舒. 舒弍仂舒  仗舒仄.
Java. 弌弍仂亳从 仄仂舒. 舒弍仂舒 仗舒仄.
Unguryan Vitaliy
10 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 仂仆仂于
10 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 仂仆仂于10 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 仂仆仂于
10 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 仂仆仂于
Roman Brovko
Java 于亠仆舒 2014 仍亠从亳 5
Java 于亠仆舒 2014 仍亠从亳 5Java 于亠仆舒 2014 仍亠从亳 5
Java 于亠仆舒 2014 仍亠从亳 5
Technopark
Java 仂亠仆 2013 仍亠从亳 6
Java 仂亠仆 2013 仍亠从亳 6Java 仂亠仆 2013 仍亠从亳 6
Java 仂亠仆 2013 仍亠从亳 6
Technopark
Multiprocessor Programming Intro (lecture 3)
Multiprocessor Programming Intro (lecture 3)Multiprocessor Programming Intro (lecture 3)
Multiprocessor Programming Intro (lecture 3)
Dmitry Tsitelov
Linux Kernel Processes
Linux Kernel ProcessesLinux Kernel Processes
Linux Kernel Processes
Eduard Antsupov
亠亟仂舒从亳 Linux API 仂从亳 亰亠仆亳 舒亰舒弍仂亳从舒 于亠弍-亠于亠舒.
亠亟仂舒从亳 Linux API  仂从亳 亰亠仆亳 舒亰舒弍仂亳从舒 于亠弍-亠于亠舒.亠亟仂舒从亳 Linux API  仂从亳 亰亠仆亳 舒亰舒弍仂亳从舒 于亠弍-亠于亠舒.
亠亟仂舒从亳 Linux API 仂从亳 亰亠仆亳 舒亰舒弍仂亳从舒 于亠弍-亠于亠舒.
Alexandr Nox
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Iosif Itkin
C++ STL & Qt. 舒仆亳亠 09.
C++ STL & Qt. 舒仆亳亠 09.C++ STL & Qt. 舒仆亳亠 09.
C++ STL & Qt. 舒仆亳亠 09.
Igor Shkulipa
丱舒仆亳仄亠 仗仂亠亟 于 NoSQL 弌丕 仆舒 仗亳仄亠亠 Tarantool / 亠仆亳 亳仆仆亳从 (Mail.Ru)
丱舒仆亳仄亠 仗仂亠亟 于 NoSQL 弌丕 仆舒 仗亳仄亠亠 Tarantool / 亠仆亳 亳仆仆亳从 (Mail.Ru)丱舒仆亳仄亠 仗仂亠亟 于 NoSQL 弌丕 仆舒 仗亳仄亠亠 Tarantool / 亠仆亳 亳仆仆亳从 (Mail.Ru)
丱舒仆亳仄亠 仗仂亠亟 于 NoSQL 弌丕 仆舒 仗亳仄亠亠 Tarantool / 亠仆亳 亳仆仆亳从 (Mail.Ru)
Ontico
Date & Time in Java SE 8
Date & Time in Java SE 8Date & Time in Java SE 8
Date & Time in Java SE 8
Ilya Lapitan

Viewers also liked (10)

Java threads - part 3
Java threads - part 3Java threads - part 3
Java threads - part 3
Nakraynikov Oleg
Java threads - part 2
Java threads - part 2Java threads - part 2
Java threads - part 2
Nakraynikov Oleg
Java threads - part 1
Java threads - part 1Java threads - part 1
Java threads - part 1
Nakraynikov Oleg
Java 8. Thread pools
Java 8. Thread poolsJava 8. Thread pools
Java 8. Thread pools
Nakraynikov Oleg
Multithreading in java past and actual
Multithreading in java past and actualMultithreading in java past and actual
Multithreading in java past and actual
Yevgen Levik
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web Framework
Daniel Woods
Thread presentation
Thread presentationThread presentation
Thread presentation
AAshish Ojha
Threads
ThreadsThreads
Threads
Shivam Singh
High Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring BootHigh Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring Boot
Daniel Woods
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
Seth Familian
Multithreading in java past and actual
Multithreading in java past and actualMultithreading in java past and actual
Multithreading in java past and actual
Yevgen Levik
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web Framework
Daniel Woods
Thread presentation
Thread presentationThread presentation
Thread presentation
AAshish Ojha
High Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring BootHigh Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring Boot
Daniel Woods
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
Seth Familian

Similar to Usage concurrence in java (20)

PostSharp - Threading Model
PostSharp - Threading ModelPostSharp - Threading Model
PostSharp - Threading Model
Andrey Gordienkov
PostSharp - Threading Model Library
PostSharp - Threading Model LibraryPostSharp - Threading Model Library
PostSharp - Threading Model Library
Andrey Gordienkov
C# 5.0. 亰亞仍磲 于 弍亟亠亠
C# 5.0. 亰亞仍磲 于 弍亟亠亠C# 5.0. 亰亞仍磲 于 弍亟亠亠
C# 5.0. 亰亞仍磲 于 弍亟亠亠
GetDev.NET
Dependency injection
Dependency injectionDependency injection
Dependency injection
GetDev.NET
仆仂亞仂仗仂仂仆仂, 舒弍仂舒 亠 (Lecture 12 multithreading, network)
仆仂亞仂仗仂仂仆仂, 舒弍仂舒  亠 (Lecture 12  multithreading, network)仆仂亞仂仗仂仂仆仂, 舒弍仂舒  亠 (Lecture 12  multithreading, network)
仆仂亞仂仗仂仂仆仂, 舒弍仂舒 亠 (Lecture 12 multithreading, network)
Noveo
亠从亳 13. 仆仂亞仂仗仂仂仆仂 亳 GIL
亠从亳 13. 仆仂亞仂仗仂仂仆仂 亳 GIL亠从亳 13. 仆仂亞仂仗仂仂仆仂 亳 GIL
亠从亳 13. 仆仂亞仂仗仂仂仆仂 亳 GIL
Roman Brovko
仆仂亞仂仗仂仂仆仂亠 仗仂亞舒仄仄亳仂于舒仆亳亠 仆舒 C#, 仗亠于亠 亰舒仄亠从亳
仆仂亞仂仗仂仂仆仂亠 仗仂亞舒仄仄亳仂于舒仆亳亠 仆舒 C#, 仗亠于亠 亰舒仄亠从亳仆仂亞仂仗仂仂仆仂亠 仗仂亞舒仄仄亳仂于舒仆亳亠 仆舒 C#, 仗亠于亠 亰舒仄亠从亳
仆仂亞仂仗仂仂仆仂亠 仗仂亞舒仄仄亳仂于舒仆亳亠 仆舒 C#, 仗亠于亠 亰舒仄亠从亳
DotNetConf
8. java lecture threads
8. java lecture threads8. java lecture threads
8. java lecture threads
MERA_school
仍舒仂仄舒 亟仍 舒于仂仄舒亳亠从仂亞仂 亠亳仂于舒仆亳 Erlang 仗仂亠从仂于 仆舒 仗亳仄亠亠 UserGat...
仍舒仂仄舒 亟仍 舒于仂仄舒亳亠从仂亞仂 亠亳仂于舒仆亳 Erlang 仗仂亠从仂于 仆舒 仗亳仄亠亠 UserGat...仍舒仂仄舒 亟仍 舒于仂仄舒亳亠从仂亞仂 亠亳仂于舒仆亳 Erlang 仗仂亠从仂于 仆舒 仗亳仄亠亠 UserGat...
仍舒仂仄舒 亟仍 舒于仂仄舒亳亠从仂亞仂 亠亳仂于舒仆亳 Erlang 仗仂亠从仂于 仆舒 仗亳仄亠亠 UserGat...
DevDay
IOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows AzureIOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows Azure
Vadim Novitskiy
舒从 仗仂亶亳 仂弍亠亠亟仂于舒仆亳亠 亳 仗仂仍亳 仗亠于 舒弍仂 仆舒 Swift
舒从 仗仂亶亳 仂弍亠亠亟仂于舒仆亳亠 亳 仗仂仍亳 仗亠于 舒弍仂 仆舒 Swift舒从 仗仂亶亳 仂弍亠亠亟仂于舒仆亳亠 亳 仗仂仍亳 仗亠于 舒弍仂 仆舒 Swift
舒从 仗仂亶亳 仂弍亠亠亟仂于舒仆亳亠 亳 仗仂仍亳 仗亠于 舒弍仂 仆舒 Swift
Anton Loginov
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
Vadim Ponomarev
仗亠舒亳仂仆仆亠 亳亠仄 亳 亠亟
仗亠舒亳仂仆仆亠 亳亠仄 亳 亠亟仗亠舒亳仂仆仆亠 亳亠仄 亳 亠亟
仗亠舒亳仂仆仆亠 亳亠仄 亳 亠亟
Alexandr Konfidentsialno
11 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 亠亟于舒 舒仆亟舒仆仂亶 弍亳弍仍亳仂亠从亳
11 - Java. 仆仂亞仂仗仂仂仆仂 于 Java:  亠亟于舒 舒仆亟舒仆仂亶 弍亳弍仍亳仂亠从亳11 - Java. 仆仂亞仂仗仂仂仆仂 于 Java:  亠亟于舒 舒仆亟舒仆仂亶 弍亳弍仍亳仂亠从亳
11 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 亠亟于舒 舒仆亟舒仆仂亶 弍亳弍仍亳仂亠从亳
Roman Brovko
JPoint 2016 - Etudes of DIY Java profiler
JPoint 2016 - Etudes of DIY Java profilerJPoint 2016 - Etudes of DIY Java profiler
JPoint 2016 - Etudes of DIY Java profiler
Anton Arhipov
Underscore js
Underscore jsUnderscore js
Underscore js
Olya Nosova
Java 9 - Back to the Future
Java 9 - Back to the FutureJava 9 - Back to the Future
Java 9 - Back to the Future
亠仂仆亳亟 弌舒于亳仍舒
C# Desktop. 舒仆亳亠 15.
C# Desktop. 舒仆亳亠 15.C# Desktop. 舒仆亳亠 15.
C# Desktop. 舒仆亳亠 15.
Igor Shkulipa
NODE.JS
  NODE.JS   NODE.JS
NODE.JS
Pavel Tsukanov
PostgreSQL. 弌亳仍仆仂. 仂亟仆仂. 仂仍仂亟亢仆仂
PostgreSQL. 弌亳仍仆仂. 仂亟仆仂. 仂仍仂亟亢仆仂PostgreSQL. 弌亳仍仆仂. 仂亟仆仂. 仂仍仂亟亢仆仂
PostgreSQL. 弌亳仍仆仂. 仂亟仆仂. 仂仍仂亟亢仆仂
Vladislav Bezverhiy
PostSharp - Threading Model
PostSharp - Threading ModelPostSharp - Threading Model
PostSharp - Threading Model
Andrey Gordienkov
PostSharp - Threading Model Library
PostSharp - Threading Model LibraryPostSharp - Threading Model Library
PostSharp - Threading Model Library
Andrey Gordienkov
C# 5.0. 亰亞仍磲 于 弍亟亠亠
C# 5.0. 亰亞仍磲 于 弍亟亠亠C# 5.0. 亰亞仍磲 于 弍亟亠亠
C# 5.0. 亰亞仍磲 于 弍亟亠亠
GetDev.NET
Dependency injection
Dependency injectionDependency injection
Dependency injection
GetDev.NET
仆仂亞仂仗仂仂仆仂, 舒弍仂舒 亠 (Lecture 12 multithreading, network)
仆仂亞仂仗仂仂仆仂, 舒弍仂舒  亠 (Lecture 12  multithreading, network)仆仂亞仂仗仂仂仆仂, 舒弍仂舒  亠 (Lecture 12  multithreading, network)
仆仂亞仂仗仂仂仆仂, 舒弍仂舒 亠 (Lecture 12 multithreading, network)
Noveo
亠从亳 13. 仆仂亞仂仗仂仂仆仂 亳 GIL
亠从亳 13. 仆仂亞仂仗仂仂仆仂 亳 GIL亠从亳 13. 仆仂亞仂仗仂仂仆仂 亳 GIL
亠从亳 13. 仆仂亞仂仗仂仂仆仂 亳 GIL
Roman Brovko
仆仂亞仂仗仂仂仆仂亠 仗仂亞舒仄仄亳仂于舒仆亳亠 仆舒 C#, 仗亠于亠 亰舒仄亠从亳
仆仂亞仂仗仂仂仆仂亠 仗仂亞舒仄仄亳仂于舒仆亳亠 仆舒 C#, 仗亠于亠 亰舒仄亠从亳仆仂亞仂仗仂仂仆仂亠 仗仂亞舒仄仄亳仂于舒仆亳亠 仆舒 C#, 仗亠于亠 亰舒仄亠从亳
仆仂亞仂仗仂仂仆仂亠 仗仂亞舒仄仄亳仂于舒仆亳亠 仆舒 C#, 仗亠于亠 亰舒仄亠从亳
DotNetConf
8. java lecture threads
8. java lecture threads8. java lecture threads
8. java lecture threads
MERA_school
仍舒仂仄舒 亟仍 舒于仂仄舒亳亠从仂亞仂 亠亳仂于舒仆亳 Erlang 仗仂亠从仂于 仆舒 仗亳仄亠亠 UserGat...
仍舒仂仄舒 亟仍 舒于仂仄舒亳亠从仂亞仂 亠亳仂于舒仆亳 Erlang 仗仂亠从仂于 仆舒 仗亳仄亠亠 UserGat...仍舒仂仄舒 亟仍 舒于仂仄舒亳亠从仂亞仂 亠亳仂于舒仆亳 Erlang 仗仂亠从仂于 仆舒 仗亳仄亠亠 UserGat...
仍舒仂仄舒 亟仍 舒于仂仄舒亳亠从仂亞仂 亠亳仂于舒仆亳 Erlang 仗仂亠从仂于 仆舒 仗亳仄亠亠 UserGat...
DevDay
IOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows AzureIOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows Azure
Vadim Novitskiy
舒从 仗仂亶亳 仂弍亠亠亟仂于舒仆亳亠 亳 仗仂仍亳 仗亠于 舒弍仂 仆舒 Swift
舒从 仗仂亶亳 仂弍亠亠亟仂于舒仆亳亠 亳 仗仂仍亳 仗亠于 舒弍仂 仆舒 Swift舒从 仗仂亶亳 仂弍亠亠亟仂于舒仆亳亠 亳 仗仂仍亳 仗亠于 舒弍仂 仆舒 Swift
舒从 仗仂亶亳 仂弍亠亠亟仂于舒仆亳亠 亳 仗仂仍亳 仗亠于 舒弍仂 仆舒 Swift
Anton Loginov
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
Vadim Ponomarev
仗亠舒亳仂仆仆亠 亳亠仄 亳 亠亟
仗亠舒亳仂仆仆亠 亳亠仄 亳 亠亟仗亠舒亳仂仆仆亠 亳亠仄 亳 亠亟
仗亠舒亳仂仆仆亠 亳亠仄 亳 亠亟
Alexandr Konfidentsialno
11 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 亠亟于舒 舒仆亟舒仆仂亶 弍亳弍仍亳仂亠从亳
11 - Java. 仆仂亞仂仗仂仂仆仂 于 Java:  亠亟于舒 舒仆亟舒仆仂亶 弍亳弍仍亳仂亠从亳11 - Java. 仆仂亞仂仗仂仂仆仂 于 Java:  亠亟于舒 舒仆亟舒仆仂亶 弍亳弍仍亳仂亠从亳
11 - Java. 仆仂亞仂仗仂仂仆仂 于 Java: 亠亟于舒 舒仆亟舒仆仂亶 弍亳弍仍亳仂亠从亳
Roman Brovko
JPoint 2016 - Etudes of DIY Java profiler
JPoint 2016 - Etudes of DIY Java profilerJPoint 2016 - Etudes of DIY Java profiler
JPoint 2016 - Etudes of DIY Java profiler
Anton Arhipov
Underscore js
Underscore jsUnderscore js
Underscore js
Olya Nosova
C# Desktop. 舒仆亳亠 15.
C# Desktop. 舒仆亳亠 15.C# Desktop. 舒仆亳亠 15.
C# Desktop. 舒仆亳亠 15.
Igor Shkulipa
PostgreSQL. 弌亳仍仆仂. 仂亟仆仂. 仂仍仂亟亢仆仂
PostgreSQL. 弌亳仍仆仂. 仂亟仆仂. 仂仍仂亟亢仆仂PostgreSQL. 弌亳仍仆仂. 仂亟仆仂. 仂仍仂亟亢仆仂
PostgreSQL. 弌亳仍仆仂. 仂亟仆仂. 仂仍仂亟亢仆仂
Vladislav Bezverhiy

More from Asya Dudnik (20)

Get started with docker & dev ops
Get started with docker & dev opsGet started with docker & dev ops
Get started with docker & dev ops
Asya Dudnik
Get started with docker & dev ops
Get started with docker & dev opsGet started with docker & dev ops
Get started with docker & dev ops
Asya Dudnik
Work with my_sql_-_database_in_java
Work with my_sql_-_database_in_javaWork with my_sql_-_database_in_java
Work with my_sql_-_database_in_java
Asya Dudnik
Oracle database
Oracle databaseOracle database
Oracle database
Asya Dudnik
Work with xml in java
Work with xml in javaWork with xml in java
Work with xml in java
Asya Dudnik
Jdbc in java
Jdbc in javaJdbc in java
Jdbc in java
Asya Dudnik
Java.fundamentals
Java.fundamentalsJava.fundamentals
Java.fundamentals
Asya Dudnik
Data bases in pictures
Data bases in picturesData bases in pictures
Data bases in pictures
Asya Dudnik
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 4.
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 4.亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 4.
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 4.
Asya Dudnik
Hibernate&ejb3 . part3.
Hibernate&ejb3 . part3.Hibernate&ejb3 . part3.
Hibernate&ejb3 . part3.
Asya Dudnik
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 2.
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 2.亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 2.
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 2.
Asya Dudnik
Work with my sql database in java
Work with my sql   database in javaWork with my sql   database in java
Work with my sql database in java
Asya Dudnik
Java.fundamentals
Java.fundamentalsJava.fundamentals
Java.fundamentals
Asya Dudnik
Web&java. gwt
Web&java. gwtWeb&java. gwt
Web&java. gwt
Asya Dudnik
Web&java.jsf.
Web&java.jsf.Web&java.jsf.
Web&java.jsf.
Asya Dudnik
Web&java. jsp
Web&java. jspWeb&java. jsp
Web&java. jsp
Asya Dudnik
Web&java. jsp
Web&java. jspWeb&java. jsp
Web&java. jsp
Asya Dudnik
Java fx for interface
Java fx for interfaceJava fx for interface
Java fx for interface
Asya Dudnik
Java fx for interface
Java fx for interfaceJava fx for interface
Java fx for interface
Asya Dudnik
Apache maven in java projects
Apache maven in java projectsApache maven in java projects
Apache maven in java projects
Asya Dudnik
Get started with docker & dev ops
Get started with docker & dev opsGet started with docker & dev ops
Get started with docker & dev ops
Asya Dudnik
Get started with docker & dev ops
Get started with docker & dev opsGet started with docker & dev ops
Get started with docker & dev ops
Asya Dudnik
Work with my_sql_-_database_in_java
Work with my_sql_-_database_in_javaWork with my_sql_-_database_in_java
Work with my_sql_-_database_in_java
Asya Dudnik
Oracle database
Oracle databaseOracle database
Oracle database
Asya Dudnik
Work with xml in java
Work with xml in javaWork with xml in java
Work with xml in java
Asya Dudnik
Java.fundamentals
Java.fundamentalsJava.fundamentals
Java.fundamentals
Asya Dudnik
Data bases in pictures
Data bases in picturesData bases in pictures
Data bases in pictures
Asya Dudnik
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 4.
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 4.亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 4.
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 4.
Asya Dudnik
Hibernate&ejb3 . part3.
Hibernate&ejb3 . part3.Hibernate&ejb3 . part3.
Hibernate&ejb3 . part3.
Asya Dudnik
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 2.
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 2.亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 2.
亳仗仂仍亰仂于舒仆亳亠 Hibernate java persistence.part 2.
Asya Dudnik
Work with my sql database in java
Work with my sql   database in javaWork with my sql   database in java
Work with my sql database in java
Asya Dudnik
Java.fundamentals
Java.fundamentalsJava.fundamentals
Java.fundamentals
Asya Dudnik
Web&java. gwt
Web&java. gwtWeb&java. gwt
Web&java. gwt
Asya Dudnik
Web&java.jsf.
Web&java.jsf.Web&java.jsf.
Web&java.jsf.
Asya Dudnik
Web&java. jsp
Web&java. jspWeb&java. jsp
Web&java. jsp
Asya Dudnik
Web&java. jsp
Web&java. jspWeb&java. jsp
Web&java. jsp
Asya Dudnik
Java fx for interface
Java fx for interfaceJava fx for interface
Java fx for interface
Asya Dudnik
Java fx for interface
Java fx for interfaceJava fx for interface
Java fx for interface
Asya Dudnik
Apache maven in java projects
Apache maven in java projectsApache maven in java projects
Apache maven in java projects
Asya Dudnik

Usage concurrence in java

  • 1. Usage java.util.concurrence in Java For students of universities Author: Oxana Dudnik
  • 8. BlockingQueue 仆亠亠亶 BlockingQueue 磦仍磳 仂亠亠亟 (Queue), .亠. 亠亞仂 仍亠仄亠仆 舒仆 于 仗仂磲从亠 束仗亠于亶 仗亳亠仍, 仗亠于亶 于亠仍損 (FIFO first in, first out). 亅仍亠仄亠仆, 于舒于仍亠仆仆亠 于 从仂仍仍亠从亳 于 仂仗亠亟亠仍亠仆仆仂仄 仗仂磲从亠, 弍亟 亳亰于仍亠亠仆 亳亰 仆亠亠 于 仂仄 亢亠 舒仄仂仄 仗仂磲从亠. 丐舒从亢亠 亳仆亠亠亶 亞舒舒仆亳亠, 仂 仍ミ頴委 仗仂仗从舒 亳亰于仍亠 仍亠仄亠仆 亳亰 仗仂亶 仂亠亠亟亳 亰舒弍仍仂从亳亠 于亰于舒ム亳亶 仗仂仂从 亟仂 亠 仗仂, 仗仂从舒 于 从仂仍仍亠从亳亳 仆亠 仗仂磦亳 仍亠仄亠仆, 从仂仂亶 仄仂亢仆仂 亳亰于仍亠. 仆舒仍仂亞亳仆仂, 仍ミ頴委 仗仂仗从舒 于舒于亳 仍亠仄亠仆 于 亰舒仗仂仍仆亠仆仆 仂亠亠亟 亰舒弍仍仂从亳亠 于亰于舒ム亳亶 仗仂仂从, 仗仂从舒 于 从仂仍仍亠从亳亳 仆亠 仂于仂弍仂亟亳 仄亠仂 亟仍 仆仂于仂亞仂 仍亠仄亠仆舒.
  • 12. 弌亠仄舒仂 亳仗仂仍亰亠 亟仍 仂弍仄亠仆舒 亳亞仆舒仍舒仄亳 仄亠亢亟 仗仂仂从舒仄亳, 亳仍亳 亢亠 亟仍 仂舒仆 从亳亳亠从仂亶 亠从亳亳. 舒从亢亠 仄仂亢仆仂 亳仗仂仍亰仂于舒 亳 于仄亠仂 仍仂从仂于.
  • 14. CountDownLatch 仂亰于仂仍磳 仂亟仆仂仄 亳仍亳 仆亠从仂仍从亳仄 仗仂仂从舒仄 仂亢亳亟舒 亟仂 亠 仗仂, 仗仂从舒 仆亠 亰舒于亠亳 仂仗亠亟亠仍亠仆仆仂亠 从仂仍亳亠于仂 仂仗亠舒亳亶, 于仗仂仍仆ム亳 于 亟亞亳 仗仂仂从舒. 亠舒仍亳亰亠 亳仆仂仆亳亰舒亳仂仆仆 仄仂亟亠仍 束亠从仂仍亟損 仂亰亟舒亠 亠从仂仍亟舒 ( 仆舒舒仍仆仄 亳仍仂仄 于 从舒亠于亠 仗舒舒仄亠舒-亠亳从舒), 从仂仂舒 仗仂亠仗亠仆仆仂 于仆亳仄舒亠 于仗仂仍仆亠仆亳亠 从舒从亳-仂 仂仗亠舒亳亶 (从舒从 仂仍从仂 舒从舒 仂仗亠舒亳 于仗仂仆亠仆舒, 于亰于舒亠 仄亠仂亟 void countDown(), 仄亠仆舒ム亳亶 亠亳从). 仂仂从亳, 从仂仂亠 亟仂仍亢仆 仗仂亟仂亢亟舒 从仂仆舒 于仗仂仍仆亠仆亳 亟舒仆仆仂亶 亠仗仂从亳 仂仗亠舒亳亶, 于亰于舒ム 仄亠仂亟 await() 亳 弍仍仂从亳ム. 舒从 仂仍从仂 亠从仂仍亟舒 弍亟亠 于仆舒 (亠亳从 仗舒亟亠 亟仂 仆仍), 于亠 仂亢亳亟舒ム亳亠 仗仂仂从亳 舒亰弍仍仂从亳ム 亳 仗仂亟仂仍亢舒ム 于仗仂仍仆亠仆亳亠.
  • 16. CyclicBarrier 亠舒仍亳亰亠 亳仆仂仆亳亰舒亳仂仆仆 仄仂亟亠仍 束亠从仂仍亟損 仂亰亟舒亠 亠从仂仍亟舒 ( 仆舒舒仍仆仄 亳仍仂仄 于 从舒亠于亠 仗舒舒仄亠舒-亠亳从舒), 从仂仂舒 仗仂亠仗亠仆仆仂 于仆亳仄舒亠 于仗仂仍仆亠仆亳亠 从舒从亳-仂 仂仗亠舒亳亶 (从舒从 仂仍从仂 舒从舒 仂仗亠舒亳 于仗仂仆亠仆舒, 于亰于舒亠 仄亠仂亟 void countDown(), 仄亠仆舒ム亳亶 亠亳从). 仂仂从亳, 从仂仂亠 亟仂仍亢仆 仗仂亟仂亢亟舒 从仂仆舒 于仗仂仍仆亠仆亳 亟舒仆仆仂亶 亠仗仂从亳 仂仗亠舒亳亶, 于亰于舒ム 仄亠仂亟 await() 亳 弍仍仂从亳ム. 舒从 仂仍从仂 亠从仂仍亟舒 弍亟亠 于仆舒 (亠亳从 仗舒亟亠 亟仂 仆仍), 于亠 仂亢亳亟舒ム亳亠 仗仂仂从亳 舒亰弍仍仂从亳ム 亳 仗仂亟仂仍亢舒ム 于仗仂仍仆亠仆亳亠.
  • 17. 亳于亠亟亳亠 仆舒亳弍仂仍亠亠 亠于亠仆仆仂亠 仂仍亳亳亠 仄亠亢亟 CountDownLatch 亳 Barrier. Barrier 仆舒从舒仗仍亳于舒亠 仗仂仂从亠 于 仂从亠 于亰仂于舒 await() 仗仂从舒 亳 从仂仍亳亠于仂 仆亠 仗亠于亳 亰舒亟舒仆仆仂亠. CountDownLatch 亢亟亠 仗仂从舒 从仂仍亳亠于仂 于亰仂于仂于 countDown() 仆亠 仗亠于亳 仆亢仆仂亠, 亳 仂亞亟舒 舒亰弍仍仂从亳亠 await().
  • 18. FutureResult (弍亟亳亶 亠亰仍舒) 仆仂亞亟舒 于 仂亳亠 亰舒仗亳 仗仂亠 舒亳仆仂仆仆仂, 于 仆舒亟亠亢亟亠, 仂 亠亰仍舒 仂亞仂 仗仂亠舒 弍亟 亟仂仗仆 仗仂亰亢亠, 从仂亞亟舒 仂仆亳 于舒仄 仗仂仆舒亟仂弍. 仗仂仄仂亞舒亠仍仆亶 从仍舒 FutureResult 仗仂舒亠 亰舒亟舒. FutureResult 亳亰仂弍舒亢舒亠 亰舒亟舒, 从仂仂仂亶 仄仂亢亠 仗仂亠弍仂于舒 仆亠从仂仂仂亠 于亠仄 仆舒 于仗仂仍仆亠仆亳亠, 亳 从仂仂舒 仄仂亢亠 于仗仂仍仆 于 亟亞仂仄 仗仂仂从亠, 舒 仂弍亠从 FutureResult 仍亢亳 亠仆亟仍仂仄 从 仂仄 仗仂亠 于仗仂仍仆亠仆亳. 丼亠亠亰 仆亠亞仂 于 仄仂亢亠亠 于仆亳, 亰舒于亠亳仍舒 仍亳 亰舒亟舒舒, 仗仂亟仂亢亟舒 亠亠 亰舒于亠亠仆亳 亳 仗仂仍亳 亠亠 亠亰仍舒. FutureResult 仄仂亢亠 弍 仂弍亠亟亳仆亠仆 Executor; 于 仄仂亢亠亠 仂亰亟舒 FutureResult 亳 仗仂舒于亳 亠亞仂 于 仂亠亠亟 从 仂弍舒弍仂亳从, 仂舒仆 仍从 仆舒 FutureResult.
  • 19. 仂弍舒弍仂亳从 (Executor) Util.concurrent 仂仗亠亟亠仍磳 亳仆亠亠亶 Executor, 亟仍 舒亳仆仂仆仆仂亶 仂弍舒弍仂从亳 Runnable-舒弍仂, 舒 舒从亢亠 仂仗亠亟亠仍磳 仆亠从仂仍从仂 亠舒仍亳亰舒亳亶 仂弍舒弍仂亳从舒 Executor, 从仂仂亠 仗亠亟仍舒亞舒ム 舒亰仍亳仆亠 舒舒从亠亳亳从亳 仗仍舒仆亳仂于舒仆亳. 仂舒仆仂于从舒 亰舒亟舒亳 于 仂亠亠亟 从 仂弍舒弍仂亳从 亟亠仍舒亠 亟仂于仂仍仆仂 仗仂仂: Executor executor = new QueuedExecutor(); ... Runnable runnable = ... ; executor.execute(runnable);
  • 20. ExecutorService 仆亠亠亶, 从仂仂亶 仂仗亳于舒亠 亠于亳 亟仍 亰舒仗从舒 Runnable 亳仍亳 Callable 亰舒亟舒. 亠仂亟 submit 仆舒 于仂亟 仗亳仆亳仄舒ム 亰舒亟舒 于 于亳亟亠 Callable 亳仍亳 Runnable, 舒 于 从舒亠于亠 于仂亰于舒舒亠仄仂亞仂 亰仆舒亠仆亳 亳亟亠 Future, 亠亠亰 从仂仂亶 仄仂亢仆仂 仗仂仍亳 亠亰仍舒.
  • 21. java.util.concurrent.locks ReenterantLock 亟于仂亳仆亶 亠仄舒仂 于仂亰仄仂亢仆仂 仄仆仂亞仂从舒仆仂亞仂 亰舒于舒舒 仂亟仆亳仄 仗仂仂从仂仄. void lock() 亰舒于舒于舒亠 亠仄舒仂 亟仍 亠从亠亞仂 仗仂仂从舒 void unlock() 仂于仂弍仂亢亟舒亠 亠仄舒仂, 亰舒于舒亠仆仆亶 亠从亳仄 仗仂仂从仂仄 Condition newCondition() 于仂亰于舒舒亠 仂弍亠从-仍仂于亳亠, 于磶舒仆仆亶 亟舒仆仆仄 亠仄舒仂仂仄. 仂亢仆仂 亳仗仂仍亰仂于舒 仂 仍仂于亳亠 亟仍 弍仍仂从亳仂于从亳 仗仂仂从仂于 亟仂 亠亞仂 仆舒仗仍亠仆亳. 仂仂从 弍仍仂从亳亠 于亰仂于仂仄 await() 仂弍亠从舒-仂弍亳 亳 仂于仂弍仂亢亟舒亠, 从仂亞亟舒 仂亞仂 亢亠 仂弍亳 弍亟亠 于亰于舒仆 仄亠仂亟 signal() (仂于仂弍仂亢亟舒亠 仂仍从仂 仂亟亳仆 仗仂仂从) 亳仍亳 signalAll() (仂于仂弍仂亢亟舒亠 于亠 弍仍仂从亳仂于舒仆仆亠 仗仂仂从亳).
  • 22. java.util.concurrent.atomic 仗舒从亠 java.util.concurrent.atomic 于仂亟 9 于亳亟仂于 舒仂仄舒仆 仗亠亠仄亠仆仆 (AtomicInteger; AtomicLong; AtomicReference; AtomicBoolean; 仂仄 亟仍 仄舒亳于仂于 舒仂仄舒仆 亠仍 亳亠仍; 亟仍亳仆仆亠 (long); 仍从亳; 舒 舒从亢亠 舒仂仄舒仆亠 仗仂仄亠从仂亶 仍舒 舒仍仂仆舒 (reference), 从仂仂亠 舒仂仄舒仆仂 仂弍仆仂于仍ム 亟于亠 于亠仍亳亳仆).
  • 23. AtomicInteger atomicInteger = new AtomicInteger(123); int expectedValue = 123; int newValue = 234; atomicInteger.compareAndSet(expectedValue, newValue); System.out.println(atomicInteger.getAndAdd(10)); System.out.println(atomicInteger.addAndGet(10));