Junior — Middle
Můžeš vyjmenovat hlavní mechanismy synchronizace vláken a procesů?
sobes.tech AI
Odpověď od AI
Hlavní mechanismy synchronizace vláken a procesů v C# zahrnují:
- lock — zajišťuje výlučný přístup k prostředku tím, že blokuje část kódu pro ostatní vlákna.
- Mutex — meziprocesní mechanismus zámku, který umožňuje synchronizaci přístupu mezi různými procesy.
- Semaphore a SemaphoreSlim — omezují počet vláken, která mohou současně přistupovat k prostředku.
- Monitor — flexibilnější mechanismus zámku s možností čekání a oznámení vláken.
- AutoResetEvent a ManualResetEvent — umožňují vláknům čekat na signál pro pokračování.
- Interlocked — poskytuje atomické operace nad proměnnými, aby zabránil závodům.
Příklad použití lock:
private readonly object _locker = new object();
void IncrementCounter()
{
lock (_locker)
{
// kritická sekce
counter++;
}
}