美文网首页
2019-03-15

2019-03-15

作者: 波涛澎湃 | 来源:发表于2019-03-28 18:36 被阅读0次

利用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)
    }
}

相关文章

网友评论

      本文标题:2019-03-15

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