在使用ProcessPoolExecutor

时间:2019-09-03 03:27:08

标签: python multithreading variables multiprocessing

我正在学习并使用python 3.6进行无人机编程。我有以下情况要处理:


class_A(在Script_A.py中)调用class_B(在另一个Script_B.py中)中的方法。在class_A中,使用ProcessPoolExecutor对class_B方法的调用是多处理的。每个运行class_B方法的进程都应将输出写入某个变量(变量?),即使其他进程仍在运行,class_A也可以读取该内容。 我不使用数据库。有什么不同的方法?


尽管下面的示例代码仅显示一个整数,但在我的情况下,我使用的是cv2和其他一些无法腌制的值。因此,不能从ProcessPoolExecutor世界中的class_B方法返回它。这是我不希望返回而是将输出写入某处并从class_A读取的原因之一。我要完成的任务是读取从摄像机视频获得的(多个)处理后的值,并将命令发送给无人机。

Script_A.py
class_A
    ....
    executor.submit(class_B().multiplyValue, value_passed) for 
    value_passed in [1,2,3,4]
    ....

Script_B.py
class_B
    ....
    def multiplyValue(self, value_received):
        new_value = value_received * 2 #This value should be saved and be 
        readable from class_A
    ....

0 个答案:

没有答案