Timer使用什么线程等待?

时间:2018-02-22 15:04:19

标签: c# multithreading timer task

在MS认证书中,我看到了这一部分:

public Task SleepAsyncA(int millisecondsTimeout)
{
    return Task.Run(() => Thread.Sleep(millisecondsTimeout));
}
public Task SleepAsyncB(int millisecondsTimeout)
{
    TaskCompletionSource<bool> tcs = null;
    var t = new Timer(delegate { tcs.TrySetResult(true); }, null, -1, -1);
    tcs = new TaskCompletionSource<bool>(t);
    t.Change(millisecondsTimeout, -1);
    return tcs.Task;
}

SleepAsyncA方法在休眠时使用线程池中的线程。第二 然而,具有完全不同的实现的方法不占用 等待计时器运行时的线程。第二种方法为您提供了可伸缩性。

但是,Timer在等待特定时间内是否使用专用线程?

0 个答案:

没有答案