heimeil 最近的时间轴更新
heimeil

heimeil

V2EX 第 128832 号会员,加入于 2015-07-25 12:04:24 +08:00
今日活跃度排名 5341
heimeil 最近回复了
36 天前
回复了 Chaox 创建的主题 问与答 关于 Sync.Mutex 的竞争问题
var mu sync.Mutex

func produce(ch chan<- int) {
for i := 0; i < 10; i++ {
mu.Lock()
ch <- i
fmt.Println("produce:" + strconv.Itoa(i))
mu.Unlock()
runtime.Gosched()
}
}

func consumer(ch <-chan int) {
for i := 0; i < 10; i++ {
runtime.Gosched()
mu.Lock()
v := <-ch
fmt.Println("consumer:" + strconv.Itoa(v))
mu.Unlock()
}
}

func main() {
ch := make(chan int, 5)
go produce(ch)
go consumer(ch)
time.Sleep(10 * time.Second)
}

produce 的 for 循环不停加锁解锁,比其他协程的等待锁释放更容易竞争到锁,用 runtime.Gosched() 让出执行权给其他协程,让别的协程的锁也有拿到锁的可能,不过还是看运气,多跑几次
311 天前
回复了 zhxjdwh 创建的主题 问与答 怀疑火车站人脸识别进站功能是假的?
现在只是采集阶段,识别的话容错率还是比较宽松的,以后会越来越精准的
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1111 人在线   最高记录 5168   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 53ms · UTC 19:22 · PVG 03:22 · LAX 12:22 · JFK 15:22
♥ Do have faith in what you're doing.