29. Android - Асинхронность многопоточность (часть 3)
Описание
Третья часть про асинхронность/многопоточность в Android. Реализуем запуск задач несколькими способами: на базе класса Thread, на базе ExecutorService и на базе HandlerThread. На примере изучаем основы синхронизации потоков: блок synchronized, аннотацию Volatile, атомарные типы данных (AtomicBoolean, AtomicInteger, AtomicReference) и CountDownLatch. Разделяем код по работе с асинхронностью в отдельные классы: декоратор SynchronizedTask и базовый класс AbstractTask.
Исходники проекта "до": https://github.com/romychab/android-tutorials/tree/bf00ad9420933c477df7324383cd42cd292dcaa6
Исходники проекта "после": https://github.com/romychab/android-tutorials/tree/9f3b7388e6a2fa48c59b3cd60b9649504b8d87d5
Список внесенных изменений: https://github.com/romychab/android-tutorials/commit/9f3b7388e6a2fa48c59b3cd60b9649504b8d87d5
Фикс для HandlerThreadTasksFactory, не вошедший в видео: https://gist.github.com/romychab/d05104f402e8278607a87fb5c6aa81ba#file-handlerthreadtasksfactory-kt-L13-L14
Рекомендуемые видео



















