dispatch_sync и dispatch_async dispatch_sync выполняет вызов синхронно: текущий поток блокируется до окончания задачи dispatch_async выполняет вызов асинхронно: управление возвращается сразу, а задача помещается в…
Чем различаются асинхронность, threading и мультипроцессинг Асинхронность работает в рамках одного потока: неблокирующие операции координируются через event loop, например с использованием async/await в JS и Python.…
Многопоточность CPU-bound и асинхронность IO-bound в .NET: как работает async/await CPU-bound: вычислительные задачи активно используют процессор и требуют параллельных потоков (Thread, Task) для одновременного…
volatile — модификатор переменных в Java и C++ Он обеспечивает видимость изменений между потоками: чтение и запись выполняются с обращением к основной памяти volatile препятствует оптимизациям компилятора и CPU,…
Для чего в Java используется ключевое слово synchronized? механизм синхронизации потоков в Java обеспечивает взаимное исключение (mutex) при обращении к коду или ресурсу захватывает объект-монитор одним потоком не…
Что произойдёт, если не синхронизировать доступ к общей переменной? многопоточность / конкуренция гонки данных: некорректные и непредсказуемые значения состояния гонки: ошибки логики и баги возможны потеря обновлений…
Что происходит внутри Thread? поток является единицей планирования ОС и основой многозадачности для него выделяются стек памяти и контекст выполнения он асинхронно выполняет функцию или метод для переключения…
Контекст: управление отменой в Kotlin Coroutines Когда родительская корутина отменяется, все её дочерние корутины также автоматически переходят в состояние отмены Причина заключается в устройстве иерархии Job: именно…
Что означает Race Condition? это проблема конкурентного доступа к одним и тем же данным результат зависит от непредсказуемого порядка, в котором выполняются потоки или процессы проблема появляется при отсутствии…
Что делает Synchronization Context? механизм из области асинхронного программирования (.NET, C#) скрывает детали синхронизации потоков при выполнении продолжения после await направляет код в требуемый контекст потока…
ThreadLocal — это Java-класс, предназначенный для хранения данных, связанных с конкретным потоком Каждый поток получает собственную локальную копию переменной Данные разных потоков изолированы и не используются…