摘要:
1. 非缓冲和缓冲 package main import ( "fmt" "strconv" ) func main() { /* 非缓冲通道:make(chan T) 一次发送,一次接收,都是阻塞的 缓冲通道:make(chan T , capacity) 发送:缓冲区的数据满了,才会阻塞 接收 阅读全文
posted @ 2020-02-03 06:42
1769987233
阅读(307)
评论(0)
推荐(0)
摘要:
通道可以被认为是Goroutines通信的管道。类似于管道中的水从一端到另一端的流动,数据可以从一端发送到另一端,通过通道接收。 在前面讲Go语言的并发时候,我们就说过,当多个Goroutine想实现共享数据的时候,虽然也提供了传统的同步机制,但是Go语言强烈建议的是使用Channel通道来实现Go 阅读全文
posted @ 2020-02-03 05:28
1769987233
阅读(125)
评论(0)
推荐(0)
摘要:
1. 临界资源 package main import ( "fmt" "time" ) func main() { /* 临界资源: */ a := 1 go func() { a = 2 fmt.Println("goroutine中。。",a) }() a = 3 time.Sleep(1) 阅读全文
posted @ 2020-02-03 04:37
1769987233
阅读(248)
评论(0)
推荐(0)

浙公网安备 33010602011771号