利用go語(yǔ)言級(jí)并發(fā)特點(diǎn)實(shí)現(xiàn)經(jīng)典的賣票案例揽咕,案例:?jiǎn)?dòng)10個(gè)窗口模擬售賣100張車票,打印出票信息套菜。
import (
"fmt"
"time"
)
type ticket struct {
no int //票號(hào)
}
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售賣車票號(hào)%v\n",winNo,<-tickets)
time.Sleep(time.Microsecond)
}
}