2014-06-12 175 views
0

我不得不想出三個線程的事件模擬。python異步線程/進程

  1. 該線程以規則的間隔(它沒有其它功能)
  2. 該線程生成「任務」(我用來描述一組的功能的抽象)生成「蜱」。任務生成速率由分配指導
  3. 該線程生成「工作人員」(他們選擇由2生成的任務並執行一些處理)。工人生成率是由不同的分配

在每個刻度爲導向,線程2 & 3應該檢查,如果他們是清醒的,如果是,則處理完成,否則,該處理開始於結束其睡覺時間。

我在我的代碼中使用了某種形式的睡眠,但沒有完全按照我的需要給出結果。

在每一跳,我這樣做:

def run(self):  
     while True: 
      task = Task().create() 
      self.numTasks += 1    
      task_wait_time = Random.poisson(<value read off a config>) 
      time.sleep(task_wait_time) 
      worker = Worker().create() 
      self.numWorkers += 1 
      worker_wait_time = Random.poisson(<different value read off a config>) 

但在這裏,很明顯,事情是不對的。任務等待,然後等待工作人員。 可以有並行等待發生,或並行任務和工人代。

我沒有讀過關於線程模塊的內容,但是還沒有能夠使用它來獲取所有3件事情。在線上的一些例子,我想出了一個線程版本,它不使用「嘀嗒」而是其他兩個。我還沒有測試它。

我不清楚如何使這項工作,請親引導我。

回答