我正处于开发基于 CAN 的可扩展硬件测试系统的初期阶段。测试系统的两个主要功能是记录总线上的所有流量并执行测试用例。测试用例将主要由接收和发送 CAN 消息组成,同时评估消息数据有效负载的内容。还将有一系列必须与串行控制设备集成的测试用例。
由于记录所有 CAN 流量的重要性,我一直在考虑基于并发的程序。但我不确定我应该实现哪种形式的并发。我读过asyncIO、threading和multiprocessing。所以我对他们每个人都有一个高层次的看法。
我还在使用似乎内置了 asyncIO 的 python-can 库,所以这让我相信 asyncIO 应该没问题。我担心如果测试用例协程处理速度不够快,我可能不得不使用 asyncIO 建立某种缓冲。总线速度500kb。CAN 总线上有 2 个模块。最高消息频率为 20 毫秒,我认为这足以让 asyncIO 运行 2 个协程。我还关心可扩展性。
我的假设正确吗?使用 asyncIO 就可以了吗?
非常感谢任何和所有输入。