摘要:
1、竞态问题 多个 goroutine 同时操作一个资源(临界区)的情况,这种情况下就会发生竞态问题。 2、互斥锁 互斥锁是一种常用的控制共享资源访问的方法,它能够保证同一时间只有一个 goroutine 可以访问共享资源。Go 语言中使用sync包中提供的Mutex类型来实现互斥锁。 sync.M 阅读全文
摘要:
1、select的使用方法 Select 的使用方式类似于之前学到的 switch 语句,它也有一系列 case 分支和一个默认的分支。每个 case 分支会对应一个通道的通信(接收或发送)过程。select 会一直等待,直到其中的某个 case 的通信操作完成时,就会执行该 case 分支对应的语 阅读全文
摘要:
1、通道的发送、接收以及关闭 ch := make(chan int) //发送 ch <- 10 // 把10发送到ch中 //接收 x := <- ch // 从ch中接收值并赋值给变量x <-ch // 从ch中接收值,忽略结果 //关闭 close(ch) 2、无缓冲通道和有缓冲通道 无缓冲 阅读全文