我無法粘貼我的代碼片段,所以我將解釋場景 1.我有大約50000股股票的清單,需要一些估價 2.這些股票在MultiProcess.Queue 3.我創建了多個進程,每個進程將從隊列中取一批50個並執行一些操作。 4.在主線程中,我有一個檢查,看起來像這樣Python進程沒有加入
anymore_to_process = True
while anymore_to_process:
if (stock_queue.qsize() == 0):
anymore_to_process = False
for jobs in stock_jobs:
jobs.join()
- 然而,這似乎並沒有當我處理50000點的記錄工作。如果我處理500只股票,這工作正常。
我做錯了什麼?當我處理大量股票時,爲什麼這些流程沒有加入。
我知道這是很難回答,沒有看我的代碼.....但如果你能給我一些指針,這將是非常有益的。
您是否在啓動子進程之前將所有庫存加載到'Queue'中? – dano 2014-09-24 20:04:49
我知道你正在創建'50000/50'(aka * 1000 *)進程嗎?如果是這樣,那不會很好。 – roippi 2014-09-24 20:05:46
不......我只創建10個流程.....他們一次只需要50個流程。 – user2097496 2014-09-24 20:57:25