我不得不想出三個線程的事件模擬。python異步線程/進程
- 該線程以規則的間隔(它沒有其它功能)
- 該線程生成「任務」(我用來描述一組的功能的抽象)生成「蜱」。任務生成速率由分配指導
- 該線程生成「工作人員」(他們選擇由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件事情。在線上的一些例子,我想出了一個線程版本,它不使用「嘀嗒」而是其他兩個。我還沒有測試它。
我不清楚如何使這項工作,請親引導我。