Разница между runtime.Goexit() и os.Exit() и случаи применения runtime.Goexit(): прекращает работу текущей goroutine, не затрагивая остальные os.Exit(): сразу завершает весь процесс, не выполняя defer Goexit()…
Ключевое различие асинхронности и многопоточности асинхронность работает в одном потоке и запускает операции неблокирующе многопоточность задействует несколько потоков для параллельного выполнения асинхронная модель…
Чем горутины отличаются от потоков ОС и как работает планировщик Go? горутина — легковесный поток, которым управляет runtime Go, а не операционная система создание и завершение горутин требуют минимальных ресурсов:…
Ключевое различие concurrent и serial очередей Serial очередь обрабатывает задачи последовательно — каждую следующую только после предыдущей Concurrent очередь позволяет запускать задачи параллельно, чтобы они…
dispatch_sync и dispatch_async dispatch_sync выполняет вызов синхронно: текущий поток блокируется до окончания задачи dispatch_async выполняет вызов асинхронно: управление возвращается сразу, а задача помещается в…
Long-polling, WebSocket и gRPC stream: в чём разница и когда их применять Long-polling: реализация push-механизма поверх HTTP клиент отправляет запрос, а сервер удерживает его открытым до появления новых данных после…
Чем различаются асинхронность, threading и мультипроцессинг Асинхронность работает в рамках одного потока: неблокирующие операции координируются через event loop, например с использованием async/await в JS и Python.…
Индексы B-Tree, Hash и BRIN в Postgres: различия и подходящие сценарии B-Tree — стандартный индекс Postgres для упорядоченных данных. Он обеспечивает быстрый поиск, сортировку и выполнение диапазонных запросов. Hash —…
Многопоточность CPU-bound и асинхронность IO-bound в .NET: как работает async/await CPU-bound: вычислительные задачи активно используют процессор и требуют параллельных потоков (Thread, Task) для одновременного…
Пессимистичные и оптимистичные блокировки Различие в стратегии обработки конфликтов: Пессимистичные: ресурс блокируется заранее, поскольку конфликт считается вероятным Оптимистичные: операции выполняются без…
Приостановка и блокировка потока: в чём отличие При приостановке (suspend) поток добровольно прекращает выполнение и ожидает внешнего сигнала При блокировке (block) поток ожидает ресурс или событие — например, I/O или…
основные единицы выполнения в ОС процесс — самостоятельный экземпляр программы с отдельным адресным пространством поток (thread) — облегчённая единица выполнения, работающая внутри процесса потоки используют общую…