Go Mutex and RWMutex

From NovaOrdis Knowledge Base
Revision as of 19:34, 5 September 2023 by Ovidiu (talk | contribs)
Jump to navigation Jump to search

External

Internal

Overview

A Mutex is a mutual exclusion lock. Only one goroutine can enter the critical section at a time. Not until the call to the Unlock() function issued can another goroutine enter the critical section.

Usage pattern (the curly braces are not necessary):

var mutex sync.Mutex

...

mutex.Lock() {
    // do something in a mutual exclusion mode
}

mutex.Unlock()