.NET Core中的背景与前景线程

时间:2017-03-08 04:29:16

标签: .net-core daemon application-shutdown

我正在尝试使用.NET Core编写一个守护进程应用程序(我是否也使用ASP.NET Core仍然是TBD),我打算在linux上运行这个应用程序。守护进程本质上是一个chron作业,我的计划是将其实现为包含无限Task循环的while,并在每次迭代中await Task.Delay(...)进行“休眠”间隔之间。我知道我也可以使用Timer或类似的,但在我的情况下,每次迭代可能需要很长时间,并且持续时间是相当多变的,所以不是运行严格固定的节奏,我会我希望在可变的时间表上运行,以便迭代之间的时间是固定的。

无论如何,我认为这与问题无关。真正的问题是:如何实现这个守护程序线程的正常关闭,以便它只在等待延迟时在迭代之间关闭?一个想法是让线程成为前台线程并在延迟步骤处理取消,我不知道该怎么做(或者即使这是linux上的东西 - 我在某处读到bg / fg线程是Windows概念)

示例代码将是一个加号。

0 个答案:

没有答案