java threads - part 1
TRANSCRIPT
Накрайников Олег[email protected]
Java Threads. Part 1
Java. The well-known and not well-known
Threads, Locks, Synchronizers
Пролог
Java Concurrency Timeline
JDK 1.0- JMM - Synchronizers- Thread
JDK 1.2 - Collections
Doug Lea- Concurrency
package
JDK 1.6 - Deques
JDK 1.7 - ForkJoin Pool
JDK 1.8 - java.util. concurrent
JDK 1.5 -JMM-java.util.concurrent
1996 1997 1998 2004 2011 20142006
Пакет java.util.concurrent.*
Executors
AtomicsLocks Synchronizers
QueuesConcurrent collections
О чем поговорим сегодня
▪ Threads▪ Locks▪ Synchronizers
Процессы и потоки
Потоки в java
Класс Thread
void start() Запустить выполнение потока
void interrupt() Прервать поток
boolean isInterrupted() Получить признак прерывания
boolean isAlive() Признак выполнения потока
void join(), void join(long millis) Дождаться окончания потока
static void sleep(long millis) Приостановить выполнение потока на
static void yield() Заставляет процессор переключиться на обработку других потоков системы
Потоко-безопасность доступа к данным
Lock free алгоритмы
Lock алгоритмы
Synchronized vs ReentrantLock
Object wait notify vs ReentrantLock
ReentrantReadWriteLock vs ReentrantLock
Deadlock vs deadlive
Deadlock vs deadlive
Semaphore vs Mutex
CountDownLatch vs CyclicBarrier
Exchanger
ThreadLocal
Использованные источники
▪ Кей С. Хорстманн – Java SE 8. Вводный курс
▪ Pe3oHaHc - Многопоточность в Java [http://habrahabr.ru/post/164487/ ]
▪ Exchanger [http://tutorials.jenkov.com/java-util-concurrent/exchanger.html]
Спасибо за внимание!