Back to questions
Junior — Middle
67
Можешь перечислить основные механизмы синхронизации потоков и процессов?
Companies where asked
Бренд Монитор
Answer from AI
sobes.tech AI
Основные механизмы синхронизации потоков и процессов в C# включают:
- lock — обеспечивает эксклюзивный доступ к ресурсу, блокируя участок кода для других потоков.
- Mutex — межпроцессный механизм блокировки, позволяющий синхронизировать доступ между разными процессами.
- Semaphore и SemaphoreSlim — ограничивают количество потоков, которые могут одновременно получить доступ к ресурсу.
- Monitor — более гибкий механизм блокировки с возможностью ожидания и уведомления потоков.
- AutoResetEvent и ManualResetEvent — позволяют потокам ожидать сигнала для продолжения работы.
- Interlocked — предоставляет атомарные операции над переменными для предотвращения гонок.
Пример использования lock:
private readonly object _locker = new object();
void IncrementCounter()
{
lock (_locker)
{
// критическая секция
counter++;
}
}