我正在创建一个可以监控 100-150 个设备的监控应用程序......现在要设计一个监控应用程序,我有两种方法:-
为每个设备创建一个线程来监控,每个线程将ping(使用ICMP)到设备以了解设备是否在线。这些线程将在特定时间间隔(例如 60 秒)后无限期地运行以了解其状态。
创建一个线程池,并为每个设备提交一个任务到线程池。任务是简单地对设备执行 ping 操作。因此,在当前的设计中,任务将比线程池中的线程多。例如,假设有 100 个设备要监控,将有 100 个任务要监控,线程池将有 40 个线程来完成这 100 个任务。当然,运行下一批任务的持续时间将使得完成线程池中的所有待处理任务。
哪种方法会更好?