【问题标题】:How expensive is to create a new Task?创建一个新任务的成本是多少?
【发布时间】:2012-05-29 00:07:56
【问题描述】:

我正在做一些异步数据获取,我需要在多次调用数据库时执行此操作。所有这些任务都需要以预定义的顺序执行,为此我使用协程和任务。

GetItemsA(); // wrapped in new Task
GetItemsB(); // wrapped in new Task
GetItemsC(); // wrapped in new Task

目前我正在为每个调用创建一个新任务。这是一种不好的做法,我是否应该尽量避免这种情况,并将所有 cals 包装在一个任务中?

GetItems(); // wrap in single Task

void GetItems()
{
    GetItemsA();
    GetItemsB();
    GetItemsC();
}

【问题讨论】:

    标签: c#-4.0 asynchronous task-parallel-library


    【解决方案1】:

    良好的做法通常是忽略开销并专注于代码的可读性。只有当您发现某些代码是您的应用程序的瓶颈时,才尝试对其进行优化。

    创建新的Task 的开销很可能可以忽略不计,尤其是与数据库往返相比时。

    【讨论】:

      猜你喜欢
      • 2021-08-08
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 2012-12-24
      • 2011-05-13
      相关资源
      最近更新 更多