尝试做这样的事情:

Task task1 = Task.Factory.FromAsync(stream.BeginWrite, stream.EndWrite, task1Data, 0, task1Data.Length, null, TaskCreationOptions.AttachedToParent);

Task task2 = Task.Factory.FromAsync(stream.BeginWrite, stream.EndWrite, task2Data, 0, task2Data.Length, null, TaskCreationOptions.AttachedToParent);


但是,如果我错了,请纠正我,但是在task1执行期间或之前难道无法执行task2吗?我想要类似ContinueWith的代码,但该代码不会被阻塞,但task2仍然要等到task1完成后才能执行。

我尝试做Task task2 = new Task(...),所以可以调用task1.ContinueWith(task2);,但无法编译。我很确定我必须使用FromAsync(它会自动运行)。我认为将task1.Wait();放在两行之间会行得通,但这不会阻止吗?试图远离阻塞。

有什么建议吗?

最佳答案

task1.ContinueWith(t=>Task.Factory.FromAsync(stream.BeginWrite, stream.EndWrite, task2Data, 0, task2Data.Length, null, TaskCreationOptions.AttachedToParent));

10-08 00:39