GOgolang 协程初探 ,基于生产者/消费者
Posted jzsg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GOgolang 协程初探 ,基于生产者/消费者相关的知识,希望对你有一定的参考价值。
package main
import (
"fmt"
"time"
)
func main()
// 管道 固定5个int
ch := make(chan int, 5)
// 生成者 协程
// 管道只能存5个int, 但是要生产15个int, 这就要等消费者先消费完(未消费前生产会阻塞), 然后生产
go func(ch chan int)
for i := 0; i < 15; i++
ch <- i
fmt.Println("put data: ", i)
(ch)
// 主线程充当消费者, 一直会等待把生产数据全部读完
for
data := <-ch
fmt.Println("read data: ", data)
time.Sleep(time.Second)
以上是关于GOgolang 协程初探 ,基于生产者/消费者的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin 协程Channel 通道 ③ ( CoroutineScope#produce 构造生产者协程 | CoroutineScope#actor 构造消费者协程 )
Kotlin 协程Channel 通道 ③ ( CoroutineScope#produce 构造生产者协程 | CoroutineScope#actor 构造消费者协程 )
Kotlin 协程Channel 通道 ③ ( CoroutineScope#produce 构造生产者协程 | CoroutineScope#actor 构造消费者协程 )