Java. The well-known and not well-known Java Threads. Part 1 Threads, Locks, Synchronizers Накрайников Олег uchonyy@gmail. com
Пролог
Java Concurrency Timeline JDK 1. 0 - JMM - Synchronizers - Thread 1996 JDK 1. 2 - Collections Doug Lea - Concurrency package JDK 1. 5 -JMM -java. util. concurrent 1997 1998 2004 JDK 1. 6 - Deques 2006 JDK 1. 7 - Fork. Join Pool 2011 JDK 1. 8 - java. util. concurrent 2014
Пакет java. util. concurrent. * Executors Locks Synchronizers Concurrent collections Atomics Queues
О чем поговорим сегодня ▪ Threads ▪ Locks ▪ Synchronizers
Процессы и потоки
Потоки в java
Класс Thread void start() Запустить выполнение потока void interrupt() Прервать поток boolean is. Interrupted() Получить признак прерывания boolean is. Alive() Признак выполнения потока void join(), void join(long millis) Дождаться окончания потока static void sleep(long millis) Приостановить выполнение потока на static void yield() Заставляет процессор переключиться на обработку других потоков системы
Потоко-безопасность доступа к данным Lock алгоритмы Lock free алгоритмы
Synchronized vs Reentrant. Lock
Object wait notify vs Reentrant. Lock
Reentrant. Read. Write. Lock vs Reentrant. Lock
Deadlock vs deadlive
Deadlock vs deadlive
Semaphore vs Mutex
Count. Down. Latch vs Cyclic. Barrier
Exchanger
Thread. Local
Использованные источники ▪ Кей С. Хорстманн – Java SE 8. Вводный курс ▪ Pe 3 o. Ha. Hc - Многопоточность в Java [http: //habrahabr. ru/post/164487/ ] ▪ Exchanger [http: //tutorials. jenkov. com/java-utilconcurrent/exchanger. html]
Спасибо за внимание!