问题描述
物联网的上位机使用python的can接收,要实现一个异步循环事件,但是大多数查到的异步都没开多线程导致阻塞主线程,所以自己查查看看发现了一个使用方法。
解决方案:
async def fun():
while True:
# 循环事务
await asyncio.sleep(1)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
thread1 = threading.Thread(target=loop.run_until_complete, args=(fun(), ))
thread1.start()
# 下面自己的其他事务
ps: 主要用了python的协程异步IO(asyncio)和多线程threading的配合来实现多线程不阻塞异步的简单实现