代码求助:goroutine的使用方法

Adnachiel_1989 · · 1669 次点击
```go func sell_tickets(i int) { fmt.Println("sell_tickets", i) for total_tickets > 0 { time.Sleep(time.Duration(rand.Intn(5)) * time.Millisecond) mutex.Lock() if total_tickets > 0 { //如果有票就卖 total_tickets-- //卖一张票 fmt.Println("id:", i, " ticket:", total_tickets) } mutex.Unlock() } fmt.Println("sell_tickets over", i) } ```
#16
更多评论
你需要将你的票多设一点,比如5000再试试
#1
或者你可以将 timt.Sleep()调整到mutex.Unlock()后面。
#2