第一种方式:
var tds=SearchProcess();
await tds;
public async Task<XmlElement> SearchProcess()
{
}
第二种方式:
var tds= Task.Factory.StartNew(()=>SearchProcess());
Task.WaitAll(tds);
public XmlElement SearchProcess()
{
}
在上述两种方法中,是否存在性能差异?
第一种方式:
var tds=SearchProcess();
await tds;
public async Task<XmlElement> SearchProcess()
{
}
第二种方式:
var tds= Task.Factory.StartNew(()=>SearchProcess());
Task.WaitAll(tds);
public XmlElement SearchProcess()
{
}
Task.WaitAll
是一种阻塞的方法,而使用 await
会使包含该方法的方法成为异步方法(async
)。如果要异步等待多个任务完成,可以使用 Task.WhenAll
:
public async Task DoSomething()
{
IEnumerable<Task> tds = SearchProcess();
await Task.WhenAll(tds);
//continue processing
}