我的应用程序有多个设备连接不同的通信协议,包括各种串口,USB,有线TCP / IP,甚至无线(Zigbee,蓝牙,WIFI等)。由于某些设备的硬件问题和有限的API,并非所有设备都能够报告或发出信号断开连接"物理断开连接或电池耗尽时到软件层。
我的工作是在一个单独的线程上创建一个循环,该循环在应用程序启动时运行,并在整个应用程序的运行时间内运行长达48小时,而无需重新启动应用程序。该线程持续检查所有设备是否反馈信号,如果没有,则认为它已断开连接并更新我的GUI。
最好的方法是什么是健壮的并且占用最少的资源(内存)