java threads - part 1

20
Накрайников Олег [email protected] Java Threads. Part 1 Java. The well-known and not well-known Threads, Locks, Synchronizers

Upload: nakraynikov-oleg

Post on 13-Feb-2017

287 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Java threads - part 1

Накрайников Олег[email protected]

Java Threads. Part 1

Java. The well-known and not well-known

Threads, Locks, Synchronizers

Page 2: Java threads - part 1

Пролог

Page 3: Java threads - part 1

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

Page 4: Java threads - part 1

Пакет java.util.concurrent.*

Executors

AtomicsLocks Synchronizers

QueuesConcurrent collections

Page 5: Java threads - part 1

О чем поговорим сегодня

▪ Threads▪ Locks▪ Synchronizers

Page 6: Java threads - part 1

Процессы и потоки

Page 7: Java threads - part 1

Потоки в java

Page 8: Java threads - part 1

Класс Thread

void start() Запустить выполнение потока

void interrupt() Прервать поток

boolean isInterrupted() Получить признак прерывания

boolean isAlive() Признак выполнения потока

void join(), void join(long millis) Дождаться окончания потока

static void sleep(long millis) Приостановить выполнение потока на

static void yield() Заставляет процессор переключиться на обработку других потоков системы

Page 9: Java threads - part 1

Потоко-безопасность доступа к данным

Lock free алгоритмы

Lock алгоритмы

Page 10: Java threads - part 1

Synchronized vs ReentrantLock

Page 11: Java threads - part 1

Object wait notify vs ReentrantLock

Page 12: Java threads - part 1

ReentrantReadWriteLock vs ReentrantLock

Page 13: Java threads - part 1

Deadlock vs deadlive

Page 14: Java threads - part 1

Deadlock vs deadlive

Page 15: Java threads - part 1

Semaphore vs Mutex

Page 16: Java threads - part 1

CountDownLatch vs CyclicBarrier

Page 17: Java threads - part 1

Exchanger

Page 18: Java threads - part 1

ThreadLocal

Page 19: Java threads - part 1

Использованные источники

▪ Кей С. Хорстманн – Java SE 8. Вводный курс

▪ Pe3oHaHc - Многопоточность в Java [http://habrahabr.ru/post/164487/ ]

▪ Exchanger [http://tutorials.jenkov.com/java-util-concurrent/exchanger.html]

Page 20: Java threads - part 1

Спасибо за внимание!