訂票系統(tǒng)差不多是我們最熟悉的一個關(guān)于線程并發(fā)的問題,如何做到多個售票窗口同時售票而不會導(dǎo)致將同一張票賣給多個旅客,首先很直觀 的一點就是當(dāng)我們把售票余量的增減弄成一個事務(wù),如此一來在增減票余量的代碼執(zhí)行的時候只能允許一個線程操作也就是出票只能是總部出票,那么一個簡易的模型就出來了。

  首先所有車票(虛擬票使用票號代替)都存放在總部,在總部只需完成接收售票點的出票請求來完成增減票余量并產(chǎn)生唯一票號分發(fā)給售票點,然后各售票點將票賣給旅客(所以這個模型的通俗的理解就是各個售票點代替旅客去售票總部排隊申請出票,這樣就不會出現(xiàn)同一張票賣給多個旅客),這也就是同步與互斥的一個案例吧。

  這里講解一個使用Java實現(xiàn)這個案例的代碼吧

  很明顯這里各個售票點銷售的都是售票總部的票余量,所以各個售票點需要共享票余量這個變量。因而我們可以創(chuàng)建一個售票窗口類

  

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式

我想了解如何學(xué)習(xí)

姓名:
手機(jī):
留言:
 
  • <div id="cxnfk"><label id="cxnfk"></label></div>