go
star_xing123
这个作者很懒,什么都没留下…
展开
-
go语言中的互斥锁sync.Mutex
go协程并发不安全,如下面的例子开启100个协程sum+10计算求和 package main import ( "fmt" "time" ) var sum = 0 func main(){ for i := 0; i < 100; i++ { go add(10) } //防止提前退出 time.Sleep(2 * time.Second) fmt.Println("和为:",sum) } func add(i...原创 2021-01-18 18:02:56 · 274 阅读 · 0 评论 -
go管道channel几点注意
1.关闭channel后不能在发送数据,会引起panic错误 package main func main(){ c := make(chan int, 10) c <- 1 c <- 2 close(c) c <- 3 //panic错误 } 运行文件后结果panic错误 但是可以接收数据,接收数据返回零值 package main import "fmt" func main(){ c := make(chan int, 10) c <- 1原创 2021-01-18 17:43:38 · 367 阅读 · 0 评论 -
聊一聊go的协程
最近在学习go语言,学习到了协程,来记录下学习的心路历程 先来看下例子:打印5个hello和5个world package main func say(s string) { for i := 0; i < 5; i++ { println(s) } } func main() { go say("Hello") go say("World") } go 启动协程的方式就是使用关键字 go,后面一般接一个函数或者匿名函数 执行上述代码发现什原创 2020-05-18 16:38:46 · 182 阅读 · 0 评论