簡體   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