这是我的问题。 我正在研究一个从三个不同设备获取数据的系统(每次,我想启动一个执行" read_data"循环的过程)。
从实时记录的三个数据中,我想在其上添加一个循环,这将对这些数据执行操作。
Ex(明显非常糟糕的语义,但是用于理解这个想法):
Class Sensor1:
read_s1():
data_s1 = ...
Class Sensor2:
read_s2():
data_s2 = ...
Class Sensor3:
read_s3():
data_s3 = ...
main:
read_s1.start()
read_s2.start()
read_s3.start()
while True: #processing and acting regarding realtime data from the three sensors
if read_s1.data_s1/read_s2.data_s2 + read_s3.data_s3 == 2:
#do something
我尝试使用线程和多进程,但我无法启动三个线程来读取并保存传入数据的变量,然后在需要时从外部循环访问这些数据。
答案 0 :(得分:0)
我将尝试更具体:
我确切地说:
thread_1:
while not e.isSet():
data1 = read_data1()
thread_2:
while not e.isSet():
data2 = read_data2()
thread_3:
while not e.isSet():
data3 = read_data3()
if __name__ == 'main':
thread_1.start()
thread_2.start()
thread_3.start()
while not e.isSet():
if data1 = 2 and data2 = 3 and data3=4:
#do something
我想如何使用锁? 每个线程通过迭代具有不同的执行时间,因为对于每个传感器,数据的读取具有不同的时间。 非常感谢你!