Go同步单信道实现并发锁

思路 使用Chan加锁 同步信道bool类型 容量为1 开启多个协程
func myLock() {
chanLock := make(chan bool, 1)
var x int
for i := 0; i < 5000; i++ { go chanWithLock(chanLock, &x) } time.Sleep(time.Second) fmt.Println(x) } /* *传入对应的信道和对应类型的指针地址 */ func chanWithLock(mychan chan bool, x *int) { // 同步阻塞通道 数据写入 mychan <- true *x = *x + 1 // 通道通畅数据读取 <-mychan }

Go同步单信道实现并发锁最先出现在Python成神之路

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/7003.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>