将子任务外包给第二个 CPU 并在可用时获得结果

问题描述 投票:0回答:0

我想实现以下目标。显然,我已经进行了很多研究,但我并不能完全理解它。因此,我将不胜感激任何帮助:

假设我在一个

while True do stuff
循环中,我在其中执行了一堆任务。循环的出口点对我的问题并不重要。现在我在那个循环中有一个任务更耗时,因此延迟了一切。然而,我需要该任务的结果来进一步执行我的while循环。我想接受那个特定的子任务并将其推送到第二个 CPU。在主循环中(在 CPU 1 上)我会从 CPU 2 请求这个子任务的结果。如果它还没有我继续没有它,如果它在那里我抓住它,使用它并再次推送一个新的子任务到 CPU 2。然而,这个子任务的结果的创建应该在 CPU 2 上执行。

while True:
    do stuff
    check for results on CPU 2
    if results there take them and push new subtask to CPU 2
    if results not there simply continue with other stuff

我阅读了有关多处理的信息,但我感觉他们总是使用相同的(数据繁重的)任务并将它们推送到多个 CPU 上。我也这样做,例如强化学习的东西。但是没见过这种外包一个子任务偶尔求个结果

有什么想法吗?提前致谢!

python asynchronous multiprocessing subprocess
© www.soinside.com 2019 - 2024. All rights reserved.