Улучшаемые навыки
Многопоточность
Синхронизация
Concurrency API
Потокобезопасность
Fork/Join
Thread/Runnable
Locking Framework
Concurrent Collections
Локализация (I18N)
Date/Time API
Инструменты
Java
Чему вы научитесь
01
Создавать и управлять потоками через Thread и Runnable.
02
Применять ExecutorService для динамических пулов потоков.
03
Использовать потокобезопасные коллекции и атомарные классы.
04
Оптимизировать задачи с помощью Fork/Join Framework.
05
Работать с файловой системой через NIO.2.
06
Разрабатывать интернационализированные приложения (I18N).
Программа курса
01
Основы работы с подпроцессами
Жизненный цикл потока (Thread vs Runnable).
Приоритеты потоков и планировщик ОС.
Проблемы гонки данных (race condition) и способы их устранения.
02
Многопоточные решения в стандартной библиотеке
ExecutorService и пулы потоков (FixedThreadPool, CachedThreadPool).
Потокобезопасные коллекции (ConcurrentHashMap, CopyOnWriteArrayList).
Атомарные операции (AtomicInteger, AtomicReference).
03
Упрощение синхронизации: Locking Framework
Интерфейсы Lock, ReadWriteLock.
Условные переменные (Condition).
Анализ deadlock’ов и способы их предотвращения.
04
Рекурсивная многопоточность: Fork / Join Framework
Классы ForkJoinPool, RecursiveTask, RecursiveAction.
Оптимизация рекурсивных алгоритмов.
05
Проект и живая практика с преподавателем
06
Итого 42 часа: теория – 16 ч. (38%), практика – 26 ч. (62%)
Для кого
Разработчик
Предварительная подготовка
Основы языка Java, ООП и базовые паттерны проектирования.