Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемАлиса Федяшина
1 §68 Лучше executors and tasks, чем потоки
2 Executor framework - 1.5, java.util.concurrent –выключить (.shutdown() ) –ждать пока не выполнится один или все (.invoke() and.invokeAll()) –подождать пока все не закончат (.awaitTermination())
3 Executors.newSingleThreadExecutor – один поток Executors.newCachedThreadPool – порождает новый поток на каждую новую задачу Executors.newFixedThreadPool – содержит фиксированное кол-во потоков Executors.newScheduledThreadPool – позволяет выполнять отсроченные или периодические действия
4 Thread Executor (Runnable and Callable)
5 §69 Concurrency utilities
6 Сложность использования wait() and notify(), замещается простотой java.util.concurrency –Синхронизированные коллекции –Executor framework –Syncronizers
7 Нельзя выключить синхронизированность таких коллекций. Locks не будут иметь эффекта.
8 В 6 раз быстрее, чем предыдущая реализация
9 Countdown latch – класс барьеров, который позволяет одному или более потокам ждать пока один или более потоков не достигнут барьера и не вызовут countDown() Пример для измерения времени одновременного исполнения задач
11 Всегда используйте цикл снаружи wait(), и старайтесь избегать его использования без цикла. Причина: если условие уже выполнено, то нет никакой гарантии, что поток когда-либо проснется. И еще
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.