如果第一个等待呼叫仅在Task c#

时间:2018-11-30 04:05:51

标签: c# asynchronous .net-core async-await

此代码似乎在更新项目调用完成之前将项目标记为完成

await queue.UpdateItem(item);
await queue.MarkItemComplete(item);

队列方法定义:

public async Task UpdateItem(QueueItem item)
{
    var temp = await table.GetItemAsync(item.Key);

    temp.Message= item.Message;

    await table.UpdateAsync(temp);
}

public async Task MarkItemComplete(QueueItem item)
{
    var temp = await table.GetItemAsync(item.Key);

    temp.Complete = true;

    await table.UpdateAsync(temp);
}

据我了解,等待类型而不是方法,所以当我只返回一个不依赖值的Task时,是否有可能解除线程的阻塞,而第二个wait开始并结束,而第一种方法正在等待其更新?

对于上下文,此代码在服务结构无状态服务的RunAsync方法中的While循环中运行

0 个答案:

没有答案