Description
Mutex allows up to add locks to
our data so it can be accessed safely in a concurrent manner. While
locked other threads can’t access the data. Mutexes
should generally
be used for managing
state.
Syntax
type Counter struct {
mu sync.Mutex
value int
}
func (c *Counter) Inc() {
c.mu.Lock()
defer c.mu.Unlock()
c.value++
}
func (c *Counter) Value() int {
return c.value
}
func NewCounter() *Counter {
return &Counter{}
}