Golang 的无缓冲通道和有缓冲通道
声明通道
package main
func main() {
  /*
  //无缓冲整型通道
  unbuffered := make(chan int)
  //有缓冲字符串通道
  buffered := make(chan string,10)
  //向通道发送值 <- 在通道右侧
  buffered <- "Gopher"
  //从通道接受值 <- 在通道左侧
  value := <- buffered
  */
}
无缓冲通道
顾名思义,无缓冲通道没有保存通道的值的能力,但是它可以保证同时交换数据。也就接受或者取值如果不同步进行则会发生阻塞。利用这个特性我们可以实现业务通信等场景
有缓冲通道
阻塞场景是只有通道中取值的时候没有值或者通道中的值已经满了。满足这两种条件才会发生阻塞。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号