🗊Презентация Понимание базовой многпоточности

Нажмите для полного просмотра!
Понимание базовой многпоточности, слайд №1Понимание базовой многпоточности, слайд №2Понимание базовой многпоточности, слайд №3Понимание базовой многпоточности, слайд №4Понимание базовой многпоточности, слайд №5Понимание базовой многпоточности, слайд №6Понимание базовой многпоточности, слайд №7Понимание базовой многпоточности, слайд №8Понимание базовой многпоточности, слайд №9Понимание базовой многпоточности, слайд №10Понимание базовой многпоточности, слайд №11Понимание базовой многпоточности, слайд №12Понимание базовой многпоточности, слайд №13Понимание базовой многпоточности, слайд №14Понимание базовой многпоточности, слайд №15Понимание базовой многпоточности, слайд №16Понимание базовой многпоточности, слайд №17Понимание базовой многпоточности, слайд №18Понимание базовой многпоточности, слайд №19Понимание базовой многпоточности, слайд №20Понимание базовой многпоточности, слайд №21Понимание базовой многпоточности, слайд №22Понимание базовой многпоточности, слайд №23Понимание базовой многпоточности, слайд №24Понимание базовой многпоточности, слайд №25Понимание базовой многпоточности, слайд №26Понимание базовой многпоточности, слайд №27Понимание базовой многпоточности, слайд №28Понимание базовой многпоточности, слайд №29Понимание базовой многпоточности, слайд №30Понимание базовой многпоточности, слайд №31Понимание базовой многпоточности, слайд №32

Содержание

Вы можете ознакомиться и скачать презентацию на тему Понимание базовой многпоточности. Доклад-сообщение содержит 32 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Понимание базовой многопоточности
Описание слайда:
Понимание базовой многопоточности

Слайд 2





Обо мне
Artem Larin
Senior Java Developer at
Описание слайда:
Обо мне Artem Larin Senior Java Developer at

Слайд 3





Когда я читаю многопоточный код…
public synchronized int getSyncA() {
…
Thread t1 = new Thread() {
	public void run() {
		synchronized (one) {
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
…
t1.start();
Thread.sleep(200);
t2.start();
Описание слайда:
Когда я читаю многопоточный код… public synchronized int getSyncA() { … Thread t1 = new Thread() { public void run() { synchronized (one) { try { Thread.sleep(1000); } catch (InterruptedException e) { … t1.start(); Thread.sleep(200); t2.start();

Слайд 4





Я вижу это…
Описание слайда:
Я вижу это…

Слайд 5





Когда я думаю о многопоточном коде…
Описание слайда:
Когда я думаю о многопоточном коде…

Слайд 6





Где же «секретное оружие»?
Описание слайда:
Где же «секретное оружие»?

Слайд 7


Понимание базовой многпоточности, слайд №7
Описание слайда:

Слайд 8





Сакральное знание?
Описание слайда:
Сакральное знание?

Слайд 9





Ключи к пониманию базовой многопоточности
Описание слайда:
Ключи к пониманию базовой многопоточности

Слайд 10





Секретное оружие №1
Это знание машины состояний потока
Описание слайда:
Секретное оружие №1 Это знание машины состояний потока

Слайд 11





Коне́чный автома́т — абстрактный автомат, число возможных внутренних состояний которого конечно (!).
Коне́чный автома́т — абстрактный автомат, число возможных внутренних состояний которого конечно (!).
Описание слайда:
Коне́чный автома́т — абстрактный автомат, число возможных внутренних состояний которого конечно (!). Коне́чный автома́т — абстрактный автомат, число возможных внутренних состояний которого конечно (!).

Слайд 12


Понимание базовой многпоточности, слайд №12
Описание слайда:

Слайд 13





Машина состояний потока
Состояния
Переходы
События
Описание слайда:
Машина состояний потока Состояния Переходы События

Слайд 14





Машина состояний потока
Описание слайда:
Машина состояний потока

Слайд 15





Машина состояний потока
Описание слайда:
Машина состояний потока

Слайд 16





Машина состояний потока
Описание слайда:
Машина состояний потока

Слайд 17





Как читать диаграмму?
Правило №1
Описание слайда:
Как читать диаграмму? Правило №1

Слайд 18





Например
Thread t1 = new Thread() {…}
t1.start();
Описание слайда:
Например Thread t1 = new Thread() {…} t1.start();

Слайд 19





Как читать диаграмму?
Правило №2
Описание слайда:
Как читать диаграмму? Правило №2

Слайд 20





Как читать диаграмму?
Правило №3
Описание слайда:
Как читать диаграмму? Правило №3

Слайд 21





Секретное оружие №2
Это переход в другое измерение времени
(как в фильме «Прибытие»)
Описание слайда:
Секретное оружие №2 Это переход в другое измерение времени (как в фильме «Прибытие»)

Слайд 22





Мы пытаемся понять код в чужом временном измерении
Описание слайда:
Мы пытаемся понять код в чужом временном измерении

Слайд 23





-> 37 m:R
-> 37 m:R
38 -> t:N
40 -> t:R
Описание слайда:
-> 37 m:R -> 37 m:R 38 -> t:N 40 -> t:R

Слайд 24





Что за «псевдоязык»?
-> 37 m:R (эта запись означает, что при переходе управления на строку 37 главный поток main (сокращенно m), переходит в состояние Runnable)
38 -> t:N (при передаче управления с 38 строки поток t переходит в состояние New)
40 -> t:R (при передаче управления с 40 строки поток t находится в состоянии Runnable, потому что был вызван метод t.start())
Описание слайда:
Что за «псевдоязык»? -> 37 m:R (эта запись означает, что при переходе управления на строку 37 главный поток main (сокращенно m), переходит в состояние Runnable) 38 -> t:N (при передаче управления с 38 строки поток t переходит в состояние New) 40 -> t:R (при передаче управления с 40 строки поток t находится в состоянии Runnable, потому что был вызван метод t.start())

Слайд 25





Что за «псевдоязык»?
-> 37 m get(obj1) (при переходе управления на строку 37 главный поток main захватил монитор объекта obj1)
37: synchronized (obj1) {
….
}
Описание слайда:
Что за «псевдоязык»? -> 37 m get(obj1) (при переходе управления на строку 37 главный поток main захватил монитор объекта obj1) 37: synchronized (obj1) { …. }

Слайд 26





Что за «псевдоязык»?
39 -> m rel(obj1) (при переходе управления со строки 39 главный поток main отпустил монитор объекта obj1)
synchronized (obj1) {
….
39: }
Описание слайда:
Что за «псевдоязык»? 39 -> m rel(obj1) (при переходе управления со строки 39 главный поток main отпустил монитор объекта obj1) synchronized (obj1) { …. 39: }

Слайд 27


Понимание базовой многпоточности, слайд №27
Описание слайда:

Слайд 28






Не нужно описывать каждую строчку кода. Указывайте только те, в которых происходят изменения состояния какого-либо потока.
Описание слайда:
Не нужно описывать каждую строчку кода. Указывайте только те, в которых происходят изменения состояния какого-либо потока.

Слайд 29





Закрепим навыки
Описание слайда:
Закрепим навыки

Слайд 30


Понимание базовой многпоточности, слайд №30
Описание слайда:

Слайд 31





Другие способы определения дедлоков
JDK: jps/jstack
OpenJDK: JCStress (Алексей Шипилев)
Описание слайда:
Другие способы определения дедлоков JDK: jps/jstack OpenJDK: JCStress (Алексей Шипилев)

Слайд 32





Другие кейсы
join/sleep
wait/notifyAll
Описание слайда:
Другие кейсы join/sleep wait/notifyAll



Похожие презентации
Mypresentation.ru
Загрузить презентацию