Go
의 동시 프로그램으로 작업 할 때 var mutex sync.Mutex
을 사용하고 동기화 된 코드 블록을 작성해야한다면 mutex.Lock()
및 mutex.Unlock()
을 호출합니다. 지금은 여기에 몇 가지 의문이 있습니다sync.Mutex는 동시 Golang 프로그램에서 어떻게 작동합니까?
1) mutex
이 CodeBlockA의 작업에 잠금에 사용되는 경우 mutex
즉, 하나의 인스턴스 만이, 그리고 다른 goroutine B
이 다른 CodeBlockB을 위해 사용하는 동시에 그 또한 mutex
을 사용하면 goroutine B
은 goroutine A
구제 mutex
까지 차단됩니다.
2) 우리는 자신의 전용 코드 블록을 지키고있는 다중성의 인스턴스를 더 가질 수 있습니다.