12345678910111213141516171819 |
- package sync;
- type Mutex struct {
- locked bool
- }
- func (m *Mutex) Lock(){
- if !m.locked {
- // Se não está travado ativa o bloqueio
- m.locked = true
- } else {
- // Se estiver com bloqueio ativo aguarda liberação
- for ; m.locked ; {}
- }
- }
- func (m *Mutex) Unlock(){
- m.locked = false
- }
|