环境
网站地址(必填): 语法进阶-并发-互斥锁
章节目录(必填): 语法进阶-并发-互斥锁-使用互斥锁可以非常完美的解决上述问题,例子如下后接的代码段
问题描述
其中有
// 修改数据
*data = temp + ans
// 解锁
lock.Unlock()
fmt.Println(*data)
wait.Done()
协程中,变量先解锁,后打印,无法保证读出值与修改数据结果一致,表现出一致结果是因为上文中有长时间模拟延迟 ,应交换解锁与打印次序
相关PR:#73
Go语言新人,如我理解有误,烦请轻喷
环境
网站地址(必填): 语法进阶-并发-互斥锁
章节目录(必填): 语法进阶-并发-互斥锁-
使用互斥锁可以非常完美的解决上述问题,例子如下后接的代码段问题描述
其中有
协程中,变量先解锁,后打印,无法保证读出值与修改数据结果一致,表现出一致结果是因为上文中有长时间模拟延迟 ,应交换解锁与打印次序
相关PR:#73
Go语言新人,如我理解有误,烦请轻喷