nic*_*ojs 5 c# idisposable task task-parallel-library
当本地任务引用超出范围并且垃圾收集器决定在任务完成之前解除它时会发生什么?
基本上我在问这种服务调用实现是否安全:
/// <summary>
/// Web service operation to start a large batch asynchronously
/// </summary>
public StartBatchResponseMessage StartBatch(StartBatchRequestMessage request)
{
Task t = Task.Factory.StartNew(DoWork);
return new StartBatchResponseMessage();
}
private void DoWork()
{
// Implement solving world hunger here.
}
Run Code Online (Sandbox Code Playgroud)
DoWork会在这个例子中完成吗?即使垃圾收集器决定处理Task实例变量t?
如果没有,实现这种功能的更安全的方法是什么?