Инфоурок / Информатика / Презентации / Usage concurrency in Java.
Обращаем Ваше внимание: Министерство образования и науки рекомендует в 2017/2018 учебном году включать в программы воспитания и социализации образовательные события, приуроченные к году экологии (2017 год объявлен годом экологии и особо охраняемых природных территорий в Российской Федерации).

Учителям 1-11 классов и воспитателям дошкольных ОУ вместе с ребятами рекомендуем принять участие в международном конкурсе «Я люблю природу», приуроченном к году экологии. Участники конкурса проверят свои знания правил поведения на природе, узнают интересные факты о животных и растениях, занесённых в Красную книгу России. Все ученики будут награждены красочными наградными материалами, а учителя получат бесплатные свидетельства о подготовке участников и призёров международного конкурса.

ПРИЁМ ЗАЯВОК ТОЛЬКО ДО 15 ДЕКАБРЯ!

Конкурс "Я люблю природу"

Usage concurrency in Java.




Московские документы для аттестации!

124 курса профессиональной переподготовки от 4 795 руб.
274 курса повышения квалификации от 1 225 руб.

Для выбора курса воспользуйтесь поиском на сайте KURSY.ORG


Вы получите официальный Диплом или Удостоверение установленного образца в соответствии с требованиями государства (образовательная Лицензия № 038767 выдана ООО "Столичный учебный центр" Департаментом образования города МОСКВА).

ДИПЛОМ от Столичного учебного центра: KURSY.ORG


библиотека
материалов
Usage java.util.concurrence in Java For students of universities Author: Oxan...
BlockingQueue Интерфейс BlockingQueue является очередью (Queue), т.е. его эле...
Семафор используется для обмена сигналами между потоками, или же для охраны к...
CountDownLatch Позволяет одному или нескольким потокам ожидать до тех пор, по...
CyclicBarrier — реализует синхронизационную модель «щеколды» — создается щеко...
Приведите наиболее существенное отличие между CountDownLatch и Barrier. Barri...
FutureResult (будущий результат) Иногда вы хотите запустить процесс асинхронн...
обработчик (Executor) Util.concurrent определяет интерфейс Executor, для асин...
ExecutorService Интерфейс, который описывает сервис для запуска Runnable или...
java.util.concurrent.locks ReenterantLock — двоичный семафор с возможностью м...
java.util.concurrent.atomic В пакет java.util.concurrent.atomic входят 9 видо...
AtomicInteger atomicInteger = new AtomicInteger(123); int expectedValue = 123...
23 1

Описание презентации по отдельным слайдам:

№ слайда 1 Usage java.util.concurrence in Java For students of universities Author: Oxan
Описание слайда:

Usage java.util.concurrence in Java For students of universities Author: Oxana Dudnik

№ слайда 2
Описание слайда:

№ слайда 3
Описание слайда:

№ слайда 4
Описание слайда:

№ слайда 5
Описание слайда:

№ слайда 6
Описание слайда:

№ слайда 7
Описание слайда:

№ слайда 8 BlockingQueue Интерфейс BlockingQueue является очередью (Queue), т.е. его эле
Описание слайда:

BlockingQueue Интерфейс BlockingQueue является очередью (Queue), т.е. его элементы хранятся в порядке «первый пришел, первый вышел» (FIFO – first in, first out). Элементы, вставленные в коллекцию в определенном порядке, будут извлечены из нее в том же самом порядке. Также интерфейс гарантирует, что любая попытка извлечь элемент из пустой очереди заблокирует вызывающий поток до тех пор, пока в коллекции не появится элемент, который можно извлечь. Аналогично, любая попытка вставить элемент в заполненную очередь заблокирует вызывающий поток, пока в коллекции не освободится место для нового элемента.

№ слайда 9
Описание слайда:

№ слайда 10
Описание слайда:

№ слайда 11
Описание слайда:

№ слайда 12 Семафор используется для обмена сигналами между потоками, или же для охраны к
Описание слайда:

Семафор используется для обмена сигналами между потоками, или же для охраны критической секции. Их также можно использовать и вместо локов.

№ слайда 13
Описание слайда:

№ слайда 14 CountDownLatch Позволяет одному или нескольким потокам ожидать до тех пор, по
Описание слайда:

CountDownLatch Позволяет одному или нескольким потокам ожидать до тех пор, пока не завершится определенное количество операций, выполняющих в других потоках. Реализует синхронизационную модель «щеколды» — создается щеколда (с натуральным числом в качестве параметра-счетчика), которая постепенно вынимается с выполнение каких-то операций (как только такая операция выпонена, вызывается метод void countDown(), уменьшающий счетчик). Потоки, которые должны подождать конца выполнения данной цепочки операций, вызывают метод await() и блокируются. Как только щеколда будет вынута (счетчик упадет до нуля), все ожидающие потоки разблокируются и продолжают выполнение.

№ слайда 15
Описание слайда:

№ слайда 16 CyclicBarrier — реализует синхронизационную модель «щеколды» — создается щеко
Описание слайда:

CyclicBarrier — реализует синхронизационную модель «щеколды» — создается щеколда (с натуральным числом в качестве параметра-счетчика), которая постепенно вынимается с выполнение каких-то операций (как только такая операция выпонена, вызывается метод void countDown(), уменьшающий счетчик). Потоки, которые должны подождать конца выполнения данной цепочки операций, вызывают метод await() и блокируются. Как только щеколда будет вынута (счетчик упадет до нуля), все ожидающие потоки разблокируются и продолжают выполнение.

№ слайда 17 Приведите наиболее существенное отличие между CountDownLatch и Barrier. Barri
Описание слайда:

Приведите наиболее существенное отличие между CountDownLatch и Barrier. Barrier накапливает потоке в точке вызова await() пока их количество не превысит заданное. CountDownLatch ждет пока количество вызовов countDown() не превысит нужное, и тогда разблокирует await().

№ слайда 18 FutureResult (будущий результат) Иногда вы хотите запустить процесс асинхронн
Описание слайда:

FutureResult (будущий результат) Иногда вы хотите запустить процесс асинхронно, в надежде, что результаты этого процесса будут доступны позже, когда они вам понадобятся. Вспомогательный класс FutureResult упрощает эту задачу. FutureResult изображает задачу, которой может потребоваться некоторое время на выполнение, и которая может выполняться в другом потоке, а объект FutureResult служит хендлом к этому процессу выполнения. Через него вы можете выяснить, завершилась ли задача, подождать ее завершения и получить ее результат. FutureResult может быть объединен с Executor; вы можете создать FutureResult и поставить его в очередь к обработчику, сохраняя ссылку на FutureResult.

№ слайда 19 обработчик (Executor) Util.concurrent определяет интерфейс Executor, для асин
Описание слайда:

обработчик (Executor) Util.concurrent определяет интерфейс Executor, для асинхронной обработки Runnable-работ, а также определяет несколько реализаций обработчика Executor, которые предлагают различные характеристики планирования. Постановка задачи в очередь к обработчику делается довольно просто: Executor executor = new QueuedExecutor(); ... Runnable runnable = ... ; executor.execute(runnable);

№ слайда 20 ExecutorService Интерфейс, который описывает сервис для запуска Runnable или
Описание слайда:

ExecutorService Интерфейс, который описывает сервис для запуска Runnable или Callable задач. Методы submit на вход принимают задачу в виде Callable или Runnable, а в качестве возвращаемого значения идет Future, через который можно получить результат.

№ слайда 21 java.util.concurrent.locks ReenterantLock — двоичный семафор с возможностью м
Описание слайда:

java.util.concurrent.locks ReenterantLock — двоичный семафор с возможностью многократного захвата одним потоком. void lock() захватывает семафор для текущего потока void unlock() освобождает семафор, захваченный текущим потоком Condition newCondition() — возвращает объект-условие, связанный с данным семафором. Можно использовать это условие для блокировки потоков до его наступления. Поток блокируется вызовом await() у объекта-события и освобождается, когда у того же события будет вызван метод signal() (освобождает только один поток) или signalAll() (освобождает все блокированные потоки).

№ слайда 22 java.util.concurrent.atomic В пакет java.util.concurrent.atomic входят 9 видо
Описание слайда:

java.util.concurrent.atomic В пакет java.util.concurrent.atomic входят 9 видов атомарных переменных (AtomicInteger; AtomicLong; AtomicReference; AtomicBoolean; формы для массивов атомарных целых чисел; длинные (long); ссылки; а также атомарные с пометкой Класс эталона (reference), которые атомарно обновляют две величины).

№ слайда 23 AtomicInteger atomicInteger = new AtomicInteger(123); int expectedValue = 123
Описание слайда:

AtomicInteger atomicInteger = new AtomicInteger(123); int expectedValue = 123; int newValue = 234; atomicInteger.compareAndSet(expectedValue, newValue); System.out.println(atomicInteger.getAndAdd(10)); System.out.println(atomicInteger.addAndGet(10));

Самые низкие цены на курсы переподготовки

Специально для учителей, воспитателей и других работников системы образования действуют 50% скидки при обучении на курсах профессиональной переподготовки.

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

Обучение проходит заочно прямо на сайте проекта "Инфоурок", но в дипломе форма обучения не указывается.

Начало обучения ближайшей группы: 20 декабря. Оплата возможна в беспроцентную рассрочку (10% в начале обучения и 90% в конце обучения)!

Подайте заявку на интересующий Вас курс сейчас: https://infourok.ru


Краткое описание документа:

Concurrent Collections — набор коллекций, более эффективно работающие в многопоточной среде нежели стандартные универсальные коллекции из java.util пакета. Вместо базового враппера Collections.synchronizedList с блокированием доступа ко всей коллекции используются блокировки по сегментам данных или же оптимизируется работа для параллельного чтения данных по wait-free алгоритмам.

Queues — неблокирующие и блокирующие очереди с поддержкой многопоточности. Неблокирующие очереди заточены на скорость и работу без блокирования потоков. Блокирующие очереди используются, когда нужно «притормозить» потоки «Producer» или «Consumer», если не выполнены какие-либо условия, например, очередь пуста или перепонена, или же нет свободного «Consumer»'a.

Synchronizers — вспомогательные утилиты для синхронизации потоков. Представляют собой мощное оружие в «параллельных» вычислениях.

Executors — содержит в себе отличные фрейморки для создания пулов потоков, планирования работы асинхронных задач с получением результатов.

Locks — представляет собой альтернативные и более гибкие механизмы синхронизации потоков по сравнению с базовыми synchronized, wait, notify, notifyAll.

Atomics — классы с поддержкой атомарных операций над примитивами и ссылками.

Общая информация

  • 0
  • 16.02.2015
Номер материала: 392048
Курсы профессиональной переподготовки
133 курса

Выдаем дипломы установленного образца

Заочное обучение - на сайте «Инфоурок»
(в дипломе форма обучения не указывается)

Начало обучения: 20 декабря
(набор групп каждую неделю)

Лицензия на образовательную деятельность
(№5201 выдана ООО «Инфоурок» 20.05.2016)


Скидка 50%

от 13 800  6 900 руб. / 300 часов

от 17 800  8 900 руб. / 600 часов

Выберите квалификацию, которая должна быть указана в Вашем дипломе:
... и ещё 87 других квалификаций, которые Вы можете получить

Похожие материалы

Получите наградные документы сразу с 38 конкурсов за один орг.взнос: Подробнее ->>