我想在python中做大量的計算。 我想用多進程來做到這一點。 的問題是,我必須運輸大型OBJ(如大numpy的和列表,或numpy的列表),從主過程向由主過程如何在多進程中共享大對象?
這裏創建的過程的問題是: 1.如果我使用像results[i] = pool.apply_async(func, args_tuple)
然後它會嘗試醃製args_tuple,這會花費大量的時間 2.我不支持自己的類和numpy類 3.主進程中已準備好所有對象,如果我在生成的進程中獲取它,也會花費時間。
我該如何解決這個問題..也許我應該使用java,如果我已經預測到了這一點,我在文檔中查找它,但似乎每個解決方案都是相同的 - 從主進程到其他(時間成本)
我有另一個想法:啓動serveral的過程時,整個程序啓動,如果我有任務,主要過程,而調用其他進程,如果我沒有任務,那麼進程會休眠。 – user3978288
但我不知道如何創建正在等待主進程的進程,以及如何通知並返回。我在哪裏可以找到文檔?或者我可以搜索該做什麼? – user3978288
您應該開始查看Global Interpreter Lock以瞭解多處理中的問題。 – CoMartel