Go语言-并发通信
发布时间:2020-12-16 18:17:43 所属栏目:大数据 来源:网络整理
导读:Go语言-并发通信 package mainimport "fmt"import "sync"import "runtime"var counter int = 0func Count(lock *sync.Mutex) {lock.Lock()counter++fmt.Println(counter)lock.Unlock()}func main() {lock := sync.Mutex{}for i := 0; i 10; i++ {go Count(lo
Go语言-并发通信 package main import "fmt" import "sync" import "runtime" var counter int = 0 func Count(lock *sync.Mutex) { lock.Lock() counter++ fmt.Println(counter) lock.Unlock() } func main() { lock := &sync.Mutex{} for i := 0; i < 10; i++ { go Count(lock) } for { lock.Lock() c := counter lock.Unlock() runtime.Gosched() if c >= 10 { break } } } 在线演示 https://c.runoob.com/compile/21 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |