最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python多線程實(shí)現(xiàn)代碼(模擬銀行服務(wù)操作流程)

 更新時(shí)間:2020年01月13日 11:18:42   作者:小小小曦  
這篇文章主要介紹了python模擬銀行服務(wù)多線程實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.模擬銀行服務(wù)完成程序代碼

目前,在以銀行營(yíng)業(yè)大廳為代表的窗口行業(yè)中大量使用排隊(duì)(叫號(hào))系統(tǒng),該系統(tǒng)完全模擬了人群排隊(duì)全過(guò)程,通過(guò)取票進(jìn)隊(duì)、排隊(duì)等待、叫號(hào)服務(wù)等功能,代替了人們站隊(duì)的辛苦。

排隊(duì)叫號(hào)軟件的具體操作流程為:

顧客取服務(wù)序號(hào)

當(dāng)顧客抵達(dá)服務(wù)大廳時(shí),前往放置在入口處旁的取號(hào)機(jī),并按一下其上的相應(yīng)服務(wù)按鈕,取號(hào)機(jī)會(huì)自動(dòng)打印出一張服務(wù)單。單上顯示服務(wù)號(hào)及該服務(wù)號(hào)前面正在等待服務(wù)的人數(shù)。

服務(wù)員工呼叫顧客

服務(wù)員工只需按一下其柜臺(tái)上呼叫器的相應(yīng)按鈕,則顧客的服務(wù)號(hào)就會(huì)按順序的顯示在顯示屏上,并發(fā)出“叮咚”和相關(guān)語(yǔ)音信息,提示顧客前往該窗口辦事。當(dāng)一位顧客辦事完畢后,柜臺(tái)服務(wù)員工只需按呼叫器相應(yīng)鍵,即可自動(dòng)呼叫下一位顧客。

編寫(xiě)程序模擬上面的工作過(guò)程,主要要求如下:

程序運(yùn)行后,當(dāng)看到“請(qǐng)點(diǎn)擊觸摸屏獲取號(hào)碼:”的提示時(shí),只要按回車鍵,即可顯示“您的號(hào)碼是:XXX,您前面有 YYY 位”的提示,其中XXX 是所獲得的服務(wù)號(hào)碼,YYY 是在 XXX 之前來(lái)到的正在等待服務(wù)的人數(shù)。

用多線程技術(shù)模擬服務(wù)窗口(可模擬多個(gè)),具有服務(wù)員呼叫顧客的行為,假設(shè)每個(gè)顧客服務(wù)的時(shí)間是10000ms,時(shí)間到后,顯示“請(qǐng) XXX 號(hào)到 ZZZ 號(hào)窗口!”的提示。其中 ZZZ 是即將為客戶服務(wù)的窗口號(hào)。

代碼:

以下為 python 實(shí)現(xiàn):

from Task04_Queue.linkedQueue import LinkedQueue
import threading
import time
class LinkBankQueue(LinkedQueue):
 def __init__(self):
  LinkedQueue.__init__(self)
  self.callNumber = 0
 def getCallNumber(self):
  if self.is_empty() and self.callNumber == 0:
   self.callNumber = 1
  else:
   self.callNumber += 1
  return self.callNumber
 def getLength(self):
  if self.is_empty():
   return 0
  else:
   cur = self._head
   len = 1
   while cur != self._tail:
    cur = cur.next
    len += 1
   return len
# 服務(wù)器
class ServiceWindow(threading.Thread):
 def __init__(self):
  threading.Thread.__init__(self)
  self.bankQueue = None
  self.lock = threading.Lock()
 def service(self):
  self.lock.acquire()
  while True:
   time.sleep(20)
   try:
    if not self.bankQueue.is_empty():
     print('請(qǐng) %d 號(hào)到 %s 號(hào)窗口' % (self.bankQueue._head.data, threading.current_thread().name))
     self.bankQueue.dequeue()
     # time.sleep(10)
    else:
     print('隊(duì)列為空哦')
   finally:
    self.lock.release()
# 客戶端
if __name__ == '__main__':
 bankQueue = LinkBankQueue()
 windowcount = 2
 serviceWindows = [None] * windowcount
 threadList = [None] * windowcount
 for i in range(windowcount):
  serviceWindows[i] = ServiceWindow()
  serviceWindows[i].bankQueue = bankQueue
  threadList[i] = threading.Thread(name=(i + 1), target=serviceWindows[i].service, args=())
  threadList[i].start()
 while True:
  input('請(qǐng)點(diǎn)擊觸摸屏獲取號(hào)碼:')
  callNumber = bankQueue.getCallNumber()
  if bankQueue != None:
   print('您的號(hào)碼是:%d,您前面有 %d 位' % (callNumber, bankQueue.getLength()))
   bankQueue.enqueue(callNumber)
  else:
   print('您的號(hào)碼是:%d,您前面有 0 位' % (callNumber))

結(jié)果截圖:

總結(jié)

以上所述是小編給大家介紹的python多線程實(shí)現(xiàn)代碼(模擬銀行服務(wù)操作流程),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • python中的列表推導(dǎo)淺析

    python中的列表推導(dǎo)淺析

    這篇文章主要介紹了python中的列表推導(dǎo),需要的朋友可以參考下
    2014-04-04
  • Python還能這么玩之用Python做個(gè)小游戲的外掛

    Python還能這么玩之用Python做個(gè)小游戲的外掛

    玩過(guò)電腦游戲的同學(xué)對(duì)于外掛肯定不陌生,但是你在用外掛的時(shí)候有沒(méi)有想過(guò)外掛怎么制作出來(lái)的呢?現(xiàn)在來(lái)看一下怎么制作一個(gè)外掛,首先說(shuō)下,這里的游戲外掛的概念,和那些大型網(wǎng)游里的外掛可不同,不能自動(dòng)打怪,主要為了提高一下編程技術(shù),需要的朋友可以參考下
    2021-06-06
  • Python帶參數(shù)的裝飾器運(yùn)行原理解析

    Python帶參數(shù)的裝飾器運(yùn)行原理解析

    這篇文章主要介紹了Python帶參數(shù)的裝飾器運(yùn)行原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享實(shí)例詳解

    Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享實(shí)例詳解

    這篇文章主要介紹了Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享,結(jié)合實(shí)例形式詳細(xì)分析了Python進(jìn)程操作技巧數(shù)據(jù)共享相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-06-06
  • Python如何基于rsa模塊實(shí)現(xiàn)非對(duì)稱加密與解密

    Python如何基于rsa模塊實(shí)現(xiàn)非對(duì)稱加密與解密

    這篇文章主要介紹了Python如何基于rsa模塊實(shí)現(xiàn)非對(duì)稱加密與解密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python中re.findall()用法詳解

    Python中re.findall()用法詳解

    本文主要介紹了Python中re.findall()用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Python 安裝第三方庫(kù) pip install 安裝慢安裝不上的解決辦法

    Python 安裝第三方庫(kù) pip install 安裝慢安裝不上的解決辦法

    很多朋友反映在使用pip install安裝python 第三方庫(kù)的過(guò)程中會(huì)出現(xiàn)網(wǎng)速很慢,或者是安裝下載到中途,停止,卡主,或者是下載報(bào)錯(cuò)等問(wèn)題,下面小編給大家?guī)?lái)了解決方法,一起看看吧
    2019-06-06
  • python實(shí)現(xiàn)Adapter模式實(shí)例代碼

    python實(shí)現(xiàn)Adapter模式實(shí)例代碼

    這篇文章主要介紹了python實(shí)現(xiàn)Adapter模式實(shí)例代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 淺談Python協(xié)程

    淺談Python協(xié)程

    這篇文章主要介紹了Python協(xié)程的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Django高級(jí)編程之自定義Field實(shí)現(xiàn)多語(yǔ)言

    Django高級(jí)編程之自定義Field實(shí)現(xiàn)多語(yǔ)言

    這篇文章主要介紹了Django高級(jí)編程之自定義Field實(shí)現(xiàn)多語(yǔ)言,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評(píng)論

阜新市| 潜江市| 鄂尔多斯市| 阿勒泰市| 永顺县| 中山市| 阳泉市| 福建省| 辽源市| 巍山| 巨鹿县| 闵行区| 普兰店市| 临城县| 定州市| 牟定县| 鹤山市| 石首市| 衡阳市| 洪江市| 五寨县| 聂荣县| 仙居县| 西宁市| 大丰市| 中阳县| 增城市| 隆林| 西和县| 杭州市| 左贡县| 兴和县| 方城县| 赤峰市| 濉溪县| 罗定市| 连城县| 濮阳县| 信宜市| 麻江县| 拜城县|