2019-03-15

利用go语言级并发特点实现经典的卖票案例,案例:启动10个窗口模拟售卖100张车票,打印出票信息。


import (
    "fmt"
    "time"
)

type ticket struct {
    no int  //票号
}

var tickets = make(chan ticket,100)

func main() {
    for i:=1;i<=100;i++{
        tickets<-ticket{no:i}
    }

    for i:=1;i<=10;i++{
        go sale(i)
    }
    time.Sleep(time.Second*4)
    fmt.Println("over")
}
func sale(winNo int){
    for len(tickets)>0{
        fmt.Printf("窗口%d售卖车票号%v\n",winNo,<-tickets)
        time.Sleep(time.Microsecond)
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.什么是数据库事物?如果没有事物会有什么后果?事物的特性是什么? 事物是操作的集合,即一个单元的一系列SQL语句...
    惜小八阅读 1,571评论 0 0
  • 么,这个啊,股票里面的专家,让我们再回到我们的教育上面来,我们教育什么是专家呢?在预先经验来说,祝你们家一直在做着...
    新愉阅读 1,508评论 0 0
  • iOS 开发技术栈与进阶 最近有一些开发朋友问我应该怎样提升自己的能力,回想起来做了这么久 iOS 开发,我也有过...
    栖息于旷野阅读 4,028评论 0 2
  • �前言丨 为什么跟着信任的老师喊单会不停亏损?为什么别人炒黄金外汇都在盈利却独有你一人在亏损?如果遭遇了黑平台黄金...
    rgfyunhgui阅读 1,355评论 0 0
  • 这会儿的天气晴朗的让人惊讶,比起刚刚的阴蒙的样子,这样有着温暖阳光的感觉让所有的烦心事一下子都烟消云散了。 啦啦啦...
    拉姆唐阅读 1,765评论 0 0

友情链接更多精彩内容