关于 100 个任务的线程创建或线程池
我正在创建一个可以监视100-150个设备的监视应用程序...现在要设计一个监视器应用程序,我有两种方法:
为要监视的每个设备创建一个线程,每个线程将 ping(使用 ICMP)到设备,以了解设备是否处于联机状态。这些线程将无限期运行,以便在特定时间间隔(例如 60 秒)后知道其状态。
创建一个线程池,并为每个设备提交一个任务到一个线程池。任务是简单地 ping 到设备。因此,在当前设计中,任务将超过线程池中的线程。例如,假设有 100 个设备要监视,将有 100 个任务要监视,线程池将有 40 个线程来完成这 100 个任务。当然,运行下一组任务的持续时间将是这样的,即完成线程池中的所有挂起任务。
哪种方法会更好?