zoukankan      html  css  js  c++  java
  • go 语言之 生产者消费模型

    简易的生产者消费模型,通过管道【也可以理解为队列】,管道是先进先出,主要是理解chan 

     生产者使用make将chan初始化,并且设置chan长度,如果不设置,生产者就写入不了通道

    go 是使用线程开始,并且使用多核(这个感觉会比python好)

    欢迎大家一起指导学习

     

    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    var Foo chan string
    
    func main()  {
    	Foo = make(chan string,10)
    	go makefoo()
    	go eatFoo()
    	time.Sleep(time.Hour)
    }
    
    func makefoo()  {
    	i := 0
    	for{
    		i ++
    		foo :=  fmt.Sprintf("包子%d号",i)
    		Foo <- foo
    		fmt.Println("Alex生产驴肉馅的",foo)
    		time.Sleep(time.Second * 1)
    	}
    }
    
    func eatFoo()  {
    	for{
    		data := <- Foo
    		fmt.Println("瞎驴吃了:",data)
    		time.Sleep(time.Second * 3)
    	}
    } 
    

      

      

    海瑞博客

    From Hairui 转载请注明出处!谢谢
  • 相关阅读:
    20165312 我期望的师生关系
    zookeeper04---ZAB协议
    zookeeper03-集群搭建
    zookeeper02
    Zookeeper01
    防止重复提交
    手动抛出异常事务回滚问题
    redis-07主从复制
    redis06-事务
    Redis-05持久化
  • 原文地址:https://www.cnblogs.com/hairuipython/p/9203437.html
Copyright © 2011-2022 走看看