Что такое Semaphore и чем он отличается от SemaphoreSlim?
Какие примитивы синхронизации вы знаете кроме lock (например, ReaderWriterLockSlim, Mutex)?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
2
Сложность:
6
Semaphore — это обёртка над Win32 Semaphore, работает в межпроцессном и многопоточном окружении, его ожидание через WaitOne() занимает kernel transition. SemaphoreSlim — более лёгкий примитив для одного процесса, использует быстрый асинхронный механизм ожидания (без context switch) и поддерживает WaitAsync для async/await. SemaphoreSlim рекомендуют для синхронизации в управляемых приложениях.
Рейтинг:
2
Сложность:
5
Основные примитивы:
Monitor (база для lock),
Mutex (межпроцессная блокировка),
Semaphore/SemaphoreSlim (ограничение параллельного доступа),
ReaderWriterLockSlim (оптимизация для частого чтения),
AutoResetEvent/ManualResetEvent (сигнализация между потоками),
Barrier (синхронизация этапов).