gpt4 book ai didi

c# - 我什么时候应该使用 LongRunning 任务创建选项?

转载 作者:太空狗 更新时间:2023-10-29 21:34:52 26 4
gpt4 key购买 nike

我有一个 Azure 辅助角色,它包含三种类型的进程:

  • 从数据库读取数据并写入worker-input-queue(任务1)的 C# 线程
  • worker-input-queue读取数据的Java线程确实工作并写入worker-output-queue
  • worker-output-queue读取数据并写入数据库(任务2)的C#线程

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 的东西(来自并行扩展团队):

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.

关于c# - 我什么时候应该使用 LongRunning 任务创建选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13632080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com