我有一个长时间运行的代码(EG。获取远程机器的详细信息)。这需要3分钟才能完成。我正在使用以下
异步,需要获取每台远程机器的详细信息。
在短时间内,它需要检索所有远程机器的详细信息(例如,通过线程概念在3分钟内检测1000台机器)。
每3分钟扫描一次远程机器。为此,我使用Windows服务。
对于上述标准,
我使用了线程。在.net 4.0中,许多概念都是可用的任务,任务parellel库,线程和线程池。其中4个最适合Windows服务。注意:
有些人建议在论坛中不建议在Windows服务中使用线程池。因为Windows服务中的onstop()无法正常工作。因为它一直等到线程池完成它才能工作。
答案 0 :(得分:1)
<。>在.net 4.0中,许多概念都是可用的任务,任务parellel库,线程和线程池
任务是任务并行库(TPL)的基本单元 特别是TPL使用线程池来安排其任务(但这不是强制性的) 线程池使用线程来执行一些工作。
因此,线程没有太多概念,“可取”一词在这里不适用 将它们视为“线程”概念之上的抽象级别。 我建议你从最高级别(TPL)开始。从任务描述中,PLINQ看起来对您有用。