Go之併發處理(售票問題)

2021-09-08 17:38:15 字數 3001 閱讀 4482

老問題:模擬乙個售票視窗進行售票

先定義型別ticket(車票)和conductor(銷售員)--偷懶了,把售票和產票都交給conductor了

package util

import ()

//--------------------------------

type ticket struct

//--------------------------------

type conductor struct

func newconductor() *conductor

}func (this *conductor) sell() ticket

func (this *conductor) product() ticket

this.count = this.count + 1

return ticket

}

func main() ()

} for i := 0; i < ticketcount; i++ ()

} wg.wait()

}

輸出結果

**: 

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

**:

生產:

生產:

**:

生產:

生產:

**:

生產:

生產:

**:

生產:

生產:

**:

生產:

生產:

**:

生產:

**:

生產:

生產:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

生產:

**:

**:

生產:

**:

**:

**:

生產:

**:

生產:

**:

生產:

**:

**:

**:

Go之併發處理(售票問題)

老問題 模擬乙個售票視窗進行售票 先定義型別ticket 車票 和conductor 銷售員 偷懶了,把售票和產票都交給conductor了 package util import type ticket struct type conductor struct func newconductor ...

Java併發程式設計實戰 售票問題

現有乙個需求如下 有10000張火車票,每張票都有乙個編號,同時有10個視窗對外售票,如何確保車票的正常售賣?問題的解決辦法都是從我們最最熟悉的角度思考。程式一,我們使用乙個普通的list作為方案。public class ticketsell 01 public static void main ...

Go併發程式設計 模擬併發模型 司機與售票員

上題 實現 package ossync import fmt while true while true 關門才可以啟動車輛 停車之後才能開門 var canstart make chan bool 表示司機程序p1能否啟動汽車 var canopendoor make chan bool 表示售...