我有一个修补程序IMU,我正在使用他们的库,这是利用回调输出数据。我已经实现了一个多线程的方法,它可以很好地工作,但现在我想让它多进程,而不是更好的并发性。多进程可以很好地启动startIMUData函数,但不会调用myIMUCallback。你知道吗
def myIMUCallback():
print("callback called!")
# Function to start recording IMU dimport serialata via callback function above
def startIMUData(q):
print("Starting IMU!")
HOST = "localhost"
PORT = 4223
UID = "6Dcx3Y" # Change XXYYZZ to the UID of your IMU Brick 2.0
ipcon = IPConnection() # Create IP connection
imu = BrickIMUV2(UID, ipcon) # Create device object
ipcon.connect(HOST, PORT)
# myIMUCallback is NOT being called in process version
imu.register_callback(imu.CALLBACK_ALL_DATA, myIMUCallback)
imu.set_all_data_period(100)
if __name__ == "__main__":
q = Queue()
# This works
threadIMU = Thread(target = startIMUData, args = (q, ))
threadIMU.start()
threadIMU.join()
#This doesn't work, calls startIMUData fine but ignores myIMUCallback
processIMU = multiprocessing.Process(target=startIMUData, args=(q, ))
processIMU.start()
processIMU.join()
目前没有回答
相关问题 更多 >
编程相关推荐