在我的python程序中,我试图在不同的线程中调用一个共享库函数,但几秒钟后它就停止了。会有什么问题
def FnVDC1(l, delay):
while True:
l.acquire()
try:
ret_check = libCAN.WriteCANMessage(handle, byref(VDC1))
finally:
l.release()
time.sleep(delay)
def FnEEC1( l, delay):
while True:
l.acquire()
try:
ret_check = libCAN.WriteCANMessage(handle, byref(EEC1))
finally:
l.release()
time.sleep(delay)
if __name__ == '__main__':
lock = RLock()
ThVDC1 = multiprocessing.Process(name='VDC1', target=FnVDC1, args=(lock,.200))
ThEEC1 = multiprocessing.Process(name='EEC1', target=FnEEC1, args=(lock,.250))
ThVDC1.start()
ThEEC1.start()
所以这两个线程分别以200ms和250ms的间隔调用libCAN.WriteCANMessage。它工作了几秒钟,然后突然停止。原因是什么?解决这个问题的正确方法是什么?我将再添加八个这样的线程。我正在使用Ubuntu操作系统
目前没有回答
相关问题 更多 >
编程相关推荐