亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python模擬簡單電梯調度算法示例

2020-02-15 22:47:22
字體:
來源:轉載
供稿:網友

本文實例講述了Python模擬簡單電梯調度算法。分享給大家供大家參考,具體如下:

經常在公司坐電梯,由于樓層較高,是雙聯裝的電梯,但是經常等電梯很久,經常有人罵寫電梯調度算法的。回來閑來無事,自己嘗試寫了一個簡單的。

場景很簡單,每一層電梯口只有一個按鈕,不區分上下,當有人按下這個鍵后,電梯會過來停在此層,這個人可以進去,并選擇自己想去的層。電梯的調度策略也很簡單,在一次向上的過程中,如果有人在下面按了鍵,電梯并不直接向下,而是運行到此次向上的最頂層,然后再下次向下運行的過程中去服務這個請求。

elevator.py

import timefrom myque import myqueclass elevator:  def __init__(self,layers):    self.building_layers = layers    self.direction = 'up'    self.cur_layer = 1    self.up_queue = myque()    self.down_queue = myque(True)    self.switcher = 'open'  def stop(self):    self.switcher='stop'  def push_button(self,layer,direction=None):    if self.cur_layer>layer:      self.down_queue.insert(layer)    elif self.cur_layer<layer:      self.up_queue.insert(layer)    else:      if self.direction=='up':        self.down_queue.insert(layer)      else:        self.up_queue.insert(layer)  def handle_queue(self,direction):    self.direction = direction    if direction == 'up':      inc = 1    else:      inc = -1    que = getattr(self , direction + '_queue')    while que.length():      while self.cur_layer != que.front():        print '/nelevator in ',self.cur_layer        time.sleep(1)        self.cur_layer += inc      print '/nelevator arrives at ',self.cur_layer      que.pop_front()  def run(self):    while self.switcher=='open':      if self.up_queue.empty() and self.down_queue.empty():        """elevator now is waiting, stop at a layer"""        time.sleep(1)        continue      """go up"""      self.handle_queue('up')      """go down"""      self.handle_queue('down')

myque.py

import threadingclass myque:  def __init__(self,reverse=False):    self.mode = reverse    self.buf = []    self.lock = threading.Lock()  def insert(self,object):    self.lock.acquire()    self.buf.append(object)    self.buf.sort(reverse = self.mode)    self.lock.release()  def front(self):    return self.buf[0]  def pop_front(self):    self.lock.acquire()    self.buf.pop(0)    self.lock.release()  def length(self):    self.lock.acquire()    size = len(self.buf)    self.lock.release()    return size  def empty(self):    self.lock.acquire()    size = len(self.buf)    self.lock.release()    return size==0

deploy.py

import threadingfrom elevator import elevatordef init_elevator(building_layers):  e = elevator(building_layers)  t = threading.Thread(target = e.run)  t.setDaemon(True)  t.start()  return (e,t)def main():  myelevator,ctl_thread = init_elevator(17)  while True:    str=raw_input("Input valid layer :")    try:      layer = int(str)    except Exception:      if str=='quit':        myelevator.stop()        ctl_thread.join()        break      else:        print 'invalid input',str        continue    if layer not in range(1,myelevator.building_layers+1):      continue    myelevator.push_button(layer)if __name__=='__main__':  main()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费视频网站| 日韩av有码在线| 亚洲aa在线观看| 欧美黄色片免费观看| 国产一区二区三区三区在线观看| 日韩欧美a级成人黄色| 亚洲天堂av在线播放| 欧美电影免费播放| 欧美亚洲在线观看| 国产综合色香蕉精品| 欧美日韩国产影院| 国产精品美腿一区在线看| 国产精品一区专区欧美日韩| 国产精选久久久久久| 38少妇精品导航| 精品视频在线播放| 51色欧美片视频在线观看| 亚洲精品98久久久久久中文字幕| 精品国产区一区二区三区在线观看| 精品久久久在线观看| 久久精品99久久久香蕉| 91沈先生在线观看| 日韩一区二区三区xxxx| 成人黄色中文字幕| 日本伊人精品一区二区三区介绍| 久久久视频精品| 日韩美女免费观看| 亚洲乱码一区av黑人高潮| 欧美成人h版在线观看| 日韩av三级在线观看| 欧美另类99xxxxx| 秋霞av国产精品一区| 色噜噜亚洲精品中文字幕| 91久久精品国产91久久| 成人免费自拍视频| 欧美日韩免费一区| 久久久精品电影| 亚洲女同精品视频| 国产精品偷伦一区二区| 亚洲少妇中文在线| 精品久久香蕉国产线看观看gif| 26uuu日韩精品一区二区| 亚洲欧美综合另类中字| 国产精品欧美日韩| 国产香蕉精品视频一区二区三区| 国产成人精品av在线| 91精品一区二区| 欧美激情性做爰免费视频| 日韩av网址在线观看| 美女撒尿一区二区三区| 91美女片黄在线观看游戏| 影音先锋日韩有码| 久久久久久久久久久91| 午夜精品一区二区三区视频免费看| 日韩电影在线观看中文字幕| 成人伊人精品色xxxx视频| 国产97在线|亚洲| 91精品久久久久久久久久| 国产亚洲精品久久久久动| 色综合视频一区中文字幕| 久久久久久久国产| 亚洲精品视频二区| 久久手机免费视频| 国产亚洲欧美日韩精品| 国产精品免费在线免费| 欧美裸体男粗大视频在线观看| 69国产精品成人在线播放| 精品色蜜蜜精品视频在线观看| 国产一区二区三区在线观看网站| 精品人伦一区二区三区蜜桃网站| 欧洲一区二区视频| 国产精品99久久久久久久久| 国产亚洲欧美日韩美女| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩国产专区| 欧美日韩亚洲一区二区三区| 91牛牛免费视频| 精品福利樱桃av导航| 免费99精品国产自在在线| 欧美性极品xxxx娇小| 欧美精品电影免费在线观看| 97色在线视频| 6080yy精品一区二区三区| 亚洲理论片在线观看| 亚洲国产女人aaa毛片在线| 国产精品偷伦免费视频观看的| 黄色成人av在线| 日韩在线视频免费观看高清中文| 亚洲网站视频福利| 亚洲视屏在线播放| 亚洲综合在线播放| 成年人精品视频| 欧美在线视频免费播放| 欧美猛男性生活免费| 亚洲午夜女主播在线直播| 中文字幕日韩精品在线| 欧美日韩中文字幕日韩欧美| 亚洲欧美国产精品专区久久| 亚洲福利精品在线| 亚洲国产另类 国产精品国产免费| 久热在线中文字幕色999舞| 欧美在线视频网| 国产精品69久久久久| 亚洲免费一在线| 国产精品亚洲一区二区三区| 大伊人狠狠躁夜夜躁av一区| 国产精品成熟老女人| 日韩欧美国产视频| 欧美日韩国产二区| 国产欧美日韩中文字幕| 超碰91人人草人人干| 国产精品香蕉在线观看| 欧美日韩中文字幕日韩欧美| 亚洲夜晚福利在线观看| 国产一区视频在线播放| 精品成人乱色一区二区| 一区国产精品视频| 丝袜情趣国产精品| 国产在线观看91精品一区| 国产精品一区二区电影| 九九热在线精品视频| 米奇精品一区二区三区在线观看| 久久久91精品国产一区不卡| xxxx性欧美| 97在线视频精品| 成人黄色av网| 亚洲国产日韩精品在线| 7777精品视频| 久久久久久久999精品视频| 亚洲午夜性刺激影院| 欧美日韩日本国产| 91av网站在线播放| 92国产精品久久久久首页| 成人免费高清完整版在线观看| 久久精视频免费在线久久完整在线看| 亚洲影院高清在线| 欧美成人高清视频| 国产精品人成电影| 亚洲美女激情视频| 色悠悠久久久久| 国产精品一区二区av影院萌芽| 欧美日韩黄色大片| 日韩在线视频国产| 国产99久久精品一区二区永久免费| 国产成人jvid在线播放| 欧美性理论片在线观看片免费| 国产在线精品一区免费香蕉| 久久色精品视频| 国产精品久久久久久五月尺| 久久躁日日躁aaaaxxxx| 91色精品视频在线| 久久国产精品久久久| 欧美电影在线免费观看网站| 国产精品高精视频免费| 91在线观看免费高清完整版在线观看| 九色成人免费视频| 欧美男插女视频| 国外视频精品毛片| 久久精品99久久久久久久久| 国产精品亚洲自拍| 欧美性极品少妇精品网站| 成人中文字幕在线观看| 国产欧美精品xxxx另类| 欧美中文字幕视频在线观看|