Использование секундомера с асинхронными методами
У меня есть некоторый код следующим образом:
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 () вызывается в неподходящее время. Как я могу гарантировать, что .Stop вызывается и регистрируется после того, как MyMethod1 и MyMethod2 заканчивают, НО гарантируют, что MyMethod3 не должен ждать.
Я хочу сохранить все функции секундомера в моем методе Start () и не регистрировать их ни в одном из 3 моих методов, то есть MyMethod1, MyMethod2 и MyMethod3