
Prymitywy synchronizacji
sync.Mutex, RWMutex, Once, Pool, Map, Cond, operacje atomowe
1Czym jest sync.Mutex w Go?
Czym jest sync.Mutex w Go?
Odpowiedź
sync.Mutex (mutual exclusion lock) to prymityw synchronizacji, który zapewnia, że tylko jedna goroutine może uzyskać dostęp do sekcji krytycznej naraz. Wywołanie Lock blokuje, dopóki mutex nie będzie dostępny, a Unlock zwalnia go dla innych goroutine. Używaj go do ochrony współbieżnego dostępu do współdzielonych danych.
2Co się stanie, jeśli zapomnimy wywołać Unlock po Lock na sync.Mutex?
Co się stanie, jeśli zapomnimy wywołać Unlock po Lock na sync.Mutex?
Odpowiedź
Pominięcie Unlock tworzy potencjalny deadlock, ponieważ inne goroutine będą czekać w nieskończoność na zdobycie muteksu. Najlepszą praktyką jest użycie defer, aby zapewnić wywołanie Unlock nawet w przypadku panic. Zawsze paruj Lock i Unlock w tym samym zakresie, aby uniknąć wycieków blokad.
3Jaka jest główna różnica między sync.Mutex a sync.RWMutex?
Jaka jest główna różnica między sync.Mutex a sync.RWMutex?
Odpowiedź
sync.RWMutex pozwala na wiele równoczesnych odczytów przez RLock, ale tylko jeden wyłączny zapis przez Lock. Poprawia to wydajność w scenariuszach z dużą liczbą odczytów, ponieważ czytelnicy nie blokują się nawzajem. Używaj RWMutex, gdy odczyty są częste, a zapisy rzadkie.
Dlaczego używać defer z Unlock na sync.Mutex?
Kiedy preferować sync.RWMutex zamiast sync.Mutex?
+19 pytań z rozmów
Inne tematy rekrutacyjne Go
Podstawy Go
Struktury danych w Go
Interfejsy w Go
Obsługa błędów
Podstawy goroutines
Channels
Go Modules
Serwer HTTP
Klient HTTP
Kodowanie JSON
Database/SQL
Pakiet context
Testing
Wzorce współbieżności
Frameworki webowe Go
Projektowanie API REST
gRPC
Reflection
Zarządzanie pamięcią
Optymalizacja wydajności
Generics
Go Design Patterns
Microservices
Bezpieczeństwo i uwierzytelnianie
Docker & Containerization
Kubernetes Basics
Zaawansowany Go
Tworzenie CLI
Opanuj Go na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo