Использование секундомера с асинхронными методами

У меня есть некоторый код следующим образом:

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

Ответы на вопрос(3)

Ваш ответ на вопрос