繁体   English   中英

通过Windows Service启动和停止并发线程

[英]Starting and Stopping concurrent threads through Windows Service

我是.NET环境的新手。 我需要一个Windows服务,该服务的StartStop方法将调用特定的类,分别说MainContext的Start和Stop方法。 MainContext类将包含通过MEF加载的扩展列表。 每个扩展都需要以并发方式作为单独的线程运行。

MainContext类将包含两个公共方法StartStop ,它们的返回类型均为void并且不包含任何参数。 在调用Start方法时,它将以并发方式为通过MEF加载的每个扩展启动线程。 Stop方法将停止由Start方法启动的所有线程。

在这种情况下最好的线程实践是什么? 我很困惑。 我应该使用System.Threading.Tasks.Task类还是System.Threading.Thread类进行多线程处理,还是应该使用其他任何技术? 哪个更适合我的要求,并为我提供更大的灵活性和稳定性?

我使用MAF进行了类似的操作,并使用外接程序监视文件服务器,数据库和Web服务。 Windows服务会在每个外接程序中调用Start和Stop方法,从而启用或禁用System.Timer.Timers。 实际处理是在每个计时器的经过的事件处理程序上完成的,该处理程序在池线程上运行。

其中一个插件监视用于进程间通信的数据库表,这样我就可以通过UI应用程序监视和控制其他插件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM