SatanDaddy
4/26/2019 - 8:07 AM

包含mutex的典型例子

sync.Mutex 是一个互斥锁,它的作用是守护在临界区入口来确保同一时间只能有一个线程进入临界区。Saved from https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/09.3.md

import  "sync"

type Info struct {
	mu sync.Mutex
	// ... other fields, e.g.: Str string
}

func Update(info *Info) {
	info.mu.Lock()
    // critical section:
    info.Str = // new value
    // end critical section
    info.mu.Unlock()
}