【发布时间】:2013-10-15 12:37:08
【问题描述】:
我有一些代码如下:
public void Start()
{
var watch = new Stopwatch();
watch.Start();
Task.Factory.StartNew(MyMethod1);
Task.Factory.StartNew(MyMethod2);
watch.Stop();
Log(watch.ElapsedMilliseconds);
Task.Factory.StartNew(MyMethod3);
}
因为 MyMethod1 和 MyMethod2 被异步调用 watch.Stop() 在错误的时间被调用。如何确保在 MyMethod1 和 MyMethod2 完成后调用和记录 .Stop 但确保 MyMethod3 不必等待。
我想在我的 Start() 方法中保留所有 Stopwatch 功能,而不是在我的 3 个方法中的任何一个中记录日志,即 MyMethod1、MyMethod2 和 MyMethod3
【问题讨论】:
标签: c# .net multithreading .net-4.0 task-parallel-library