美文网首页
Golang的通道简介以及通道的作用

Golang的通道简介以及通道的作用

作者: TZX_0710 | 来源:发表于2019-12-06 09:54 被阅读0次

chanel通道,在golang的变量为chan,为什么要单独开一章出来讲解呢,主要是chan是一个挺重要的东西,并且在golang并发当中是一个完美的调和剂。

通道的特性

Go语言中的通道(channel)是一种特殊的类型。在任何时候,同时只能有一个 goroutine 访问通道进行发送和获取数据。goroutine 间通过通道就可以通信。
通道像一个传送带或者队列,总是遵循先入先出(First In First Out)的规则,保证收发数据的顺序。

package main

import (
    "fmt"
    "github.com/astaxie/beego/logs"
    "sync"
    "time"
)
var waitGorup sync.WaitGroup
//发送消息
func P(queue chan<- int){
    for i:= 0; i < 1000; i++{
        queue <- i
    }
    time.Sleep(time.Second)
}
//读取消息  通道为只读
func C(queue <-chan int){
    for data := range queue {
        logs.Info(data)
    }
}

func main(){
    //声明一个双向通道
    ints := make(chan int, 10)
    //通道名称chan<-类型 只写
    //通道名称<-chan 类型  只读
    //声明一个只能写入的通道
    //sendInts:=make(chan<-int,10)
    ////声明一个只能读取的通道
    //recever:=make(<-chan  int,10)
    waitGorup.Add(2)
    queue := ints // 这里的10表示管道的容量,根据应用的需求进行设置
    //传入一个双向通道会进入函数会转换成一个 单项通道 只写
    go P(queue)
    //传入一个双向通道会进入函数会转换成一个 单项通道 只读
    go C(queue)
    //for循环读取通道中的数据
    var input string
    fmt.Scan(&input)
    close(queue)
    <-queue
}

相关文章

  • Golang的通道简介以及通道的作用

    chanel通道,在golang的变量为chan,为什么要单独开一章出来讲解呢,主要是chan是一个挺重要的东西,...

  • 通道--golang

    通道(channels) 是连接多个协程的管道,可以从一个协程将值发送到通道,然后在另一个协程中接收,由关键字ch...

  • PS入门(二)

    通道和蒙版 1. 通道 根据通道的作用分为:颜色通道:用于保存颜色,RGB模式有R、G、B三个颜色通道,CMYK图...

  • golang通道定义

    一. 通道的定义 先上一段代码, 优点:go 语言自带的唯一一个并发安全性的类型 定义:使用go的内建函数mak...

  • 【Golang】通道channel

    Java的并发:基于线程Golang的并发:基于协程goroutine 并发会导致资源竞争:加锁防止资源竞争的三种...

  • golang - channel(通道)

    1、声明 2、操作 发送 <- : 将数据发送到通道中 接收 <- :从一个通道中接收值 关闭 3、无缓冲和...

  • 基于mysql binlog解析的数据通道

    本文是基于阿里开源的mysql binlog解析方案canal,以及golang版本封装的一套数据更新通道。 先来...

  • Java NIO——通道Channel

    Channel 通道的简介 通道( Channel):由 java.nio.channels 包定义的。 Chan...

  • Java NIO(4) - 通道(1)

    3.6 通道(channel)简介 通道(Channel):由 java.nio.channels 包定的。Cha...

  • #30天专注橙长计划#通道

    通道是“黑社会”: 1.通道只有三类颜色:黑白灰 2.通道是后台的,通过后台影响前台 通道的作用: 1.记录颜色信...

网友评论

      本文标题:Golang的通道简介以及通道的作用

      本文链接:https://www.haomeiwen.com/subject/lkidgctx.html