c# – 我什么时候应该使用LongRunning Task Creation选项?

前端之家收集整理的这篇文章主要介绍了c# – 我什么时候应该使用LongRunning Task Creation选项?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Azure Worker角色,它有三种类型的进程:

> C#线程从数据库读取并写入worker-input-queue(Task1)
>从worker-input-queue读取的Java线程确实可以工作并写入worker-output-queue
>从worker-output-queue读取并写入数据库的C#线程(Task2)

Task1和Task2无限期运行,如果各自的队列为空则休眠.

我的代码看起来像这样:

SpawnJavaProcesses();  
Task.Factory.StartNew(Task1);  
Task.Factory.StartNew(Task2);  
while(true)  
{  
    //do some trivial sporadic work  
    Thread.Sleep(60*1000);  
}

我的问题:

>启动Task1和Task2时,我应该使用LongRunning任务创建选项吗?
>有没有更好的方法来实现我在这里尝试做的事情?

解决方法

如果你有一些长时间运行的线程,最好使用LongRunning选项.通过选择此选项,您将在线程池外部的线程中运行.这也是 explained by Stephen Toub(来自Parallel Extensions团队):

It’s not a specific length per se. If you’re generating a lot of tasks,LongRunning is not appropriate for them. If you’re generating one or two tasks that will persist for quite some time relative to the lifetime of your application,then LongRunning is something to consider.

原文链接:https://www.f2er.com/csharp/244468.html

猜你在找的C#相关文章