🗊 Презентация Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7)

Нажмите для полного просмотра!
Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №1 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №2 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №3 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №4 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №5 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №6 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №7 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №8 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №9 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №10 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №11 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №12 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №13 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №14 Многопоточность. Возможности и преимущества многопоточности. Способы реализации. Механизмы синхронизации. (Лекция 7), слайд №15

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

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


Слайд 1


Лекция 7 Многопоточность
Описание слайда:
Лекция 7 Многопоточность

Слайд 2


Содержание Возможности и преимущества многопоточности Способы реализации Механизмы синхронизации
Описание слайда:
Содержание Возможности и преимущества многопоточности Способы реализации Механизмы синхронизации

Слайд 3


Возможности и преимущества многопоточности Одновременное обслуживание нескольких клиентов в конфигурации клиент-сервер Реализация систем с активным...
Описание слайда:
Возможности и преимущества многопоточности Одновременное обслуживание нескольких клиентов в конфигурации клиент-сервер Реализация систем с активным участием пользователя в процессе вычислений (например, игры) Оптимизация скорости работы за счет распараллеливания работы с «медленными» периферийными устройствами Многопоточность не ускоряет систему

Слайд 4


Приоритеты и типы потоков Приоритет потока определяет долю квантов времени, выделяемых ему.  потоки низкого приоритета все равно продолжают...
Описание слайда:
Приоритеты и типы потоков Приоритет потока определяет долю квантов времени, выделяемых ему.  потоки низкого приоритета все равно продолжают исполняться Потоки-демоны (daemon) – потоки специального назначения, чаще всего – обслуживающие Приложение исполняется, пока существует хотя бы один «не-daemon» поток

Слайд 5


Поточная модель Java Поток – экземпляр класса Thread Методы класса Thread: public static Thread currentThread() – возвращает ссылку на поток из...
Описание слайда:
Поточная модель Java Поток – экземпляр класса Thread Методы класса Thread: public static Thread currentThread() – возвращает ссылку на поток из которого вызывается метод; final String getName() – получить имя потока; final void setName(String s) – задать имя потока; final int getPriority() – приоритет потока (+ setPriority(int n), MIN_PRIORITY = 1, MAX_PRIORITY = 10, NORM_PRIORITY = 5); final boolean isAlive() – позволяет выяснить исполняется поток или нет; final void join() throws InterruptedException – ожидание завершения потока; static void sleep(long n) throws InterruptedException – приостанавливает выполнение потока на n миллисекунд; void run() – определяет точку входа в поток; void start() – запускает поток, вызывая его метод run()

Слайд 6


Поточная модель Java Конструкторы класса Thread: Thread(Runnable threadOb); Thread(Runnable threadOb, String name); … при запуске программы начинает...
Описание слайда:
Поточная модель Java Конструкторы класса Thread: Thread(Runnable threadOb); Thread(Runnable threadOb, String name); … при запуске программы начинает выполняться главный поток, в котором уже могут порождаться дочерние. Главный поток создается автоматически. В идеале программа начинает выполняться с главного потока и завершается с завершением главного потока.

Слайд 7


Как создать поток? Поток в Java – экземпляр класса Thread Реализуем класс-наследник Thread Переопределяем метод void run() Создаем экземпляр класса...
Описание слайда:
Как создать поток? Поток в Java – экземпляр класса Thread Реализуем класс-наследник Thread Переопределяем метод void run() Создаем экземпляр класса Вызываем метод… start() Виртуальная машина Java принимает решение о моменте запуска потока, производит его инициализацию и сама вызывает метод run()

Слайд 8


Как создать поток? public class MyThread extends Thread { public void run() { // вычисления } // метод start() реализовывать нельзя! } MyThread t =...
Описание слайда:
Как создать поток? public class MyThread extends Thread { public void run() { // вычисления } // метод start() реализовывать нельзя! } MyThread t = new MyThread(); t.start();

Слайд 9


Как создать поток? Наследование от Thread может привести к конфликту Реализуем интерфейс Runnable Создаем класс, реализующий интерфейс Runnable...
Описание слайда:
Как создать поток? Наследование от Thread может привести к конфликту Реализуем интерфейс Runnable Создаем класс, реализующий интерфейс Runnable Реализуем метод void run() Создаем экземпляр класса Создаем экземпляр класса Thread, передавая в виде параметра ссылку на созданный экземпляр Runnable Вызываем метод start() у класса Thread

Слайд 10


Как создать поток? public class MyThread implements Runnable { public void run() { // вычисления } } Runnable r = new MyThread(); Thread t = new...
Описание слайда:
Как создать поток? public class MyThread implements Runnable { public void run() { // вычисления } } Runnable r = new MyThread(); Thread t = new Thread(r); t.start();

Слайд 11


Методы управления потоком Изнутри static void sleep(int mseconds) – приостановка работы на указанное число миллисекунд static void yield() –...
Описание слайда:
Методы управления потоком Изнутри static void sleep(int mseconds) – приостановка работы на указанное число миллисекунд static void yield() – приостановка работы и передача управления другим потокам (если они есть) Снаружи interrupt() – прерывание работы потока, у которого этот метод вызван. Порождает InterruptedException «внутрь» run()

Слайд 12


Синхронизация При одновременной работе с общими переменными результат непредсказуем: Изменение переменной = чтение; вычисления; запись (т.е. делается...
Описание слайда:
Синхронизация При одновременной работе с общими переменными результат непредсказуем: Изменение переменной = чтение; вычисления; запись (т.е. делается в несколько этапов) Примеры: банковский счет, продажа билетов

Слайд 13


Блокировка Блокировка устанавливается на объект Блокировка объекта может быть установлена только одним потоком Прочие действия с объектом остаются...
Описание слайда:
Блокировка Блокировка устанавливается на объект Блокировка объекта может быть установлена только одним потоком Прочие действия с объектом остаются доступными Все другие потоки, попытавшиеся установить блокировку, ждут освобождения объекта При выполнении блокировки локальная память потока полностью синхронизируется с общей; при снятии – аналогично (в обратную сторону) Блокировка используется для обеспечения предсказуемости изменений объекта.

Слайд 14


Модификатор synchronized Объявление synchronized-блока synchronized (object) { … } Устанавливается блокировка на object Объявление...
Описание слайда:
Модификатор synchronized Объявление synchronized-блока synchronized (object) { … } Устанавливается блокировка на object Объявление synchronized-метода public void synchronized process() { … } Устанавливается блокировка на весь объект, содержащий synchronized-метод

Слайд 15


Deadlock Взаимная блокировка потоков После блокировки одного объекта поток пытается установить блокировку на второй; Второй поток установил...
Описание слайда:
Deadlock Взаимная блокировка потоков После блокировки одного объекта поток пытается установить блокировку на второй; Второй поток установил блокировку второго объекта и пытается заблокировать первый; Оба потока находятся в режиме ожидания друг друга. В Java отсутствуют средства предотвращения или распознавания deadlock Также отсутствует проверка, заблокирован ли объект другим потоком Вопросы синхронизации должны внимательно решаться на этапе проектирования



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