我正在学习并使用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
....