A task that will never end until cancellation is requested

前端 未结 2 551
甜味超标
甜味超标 2020-12-19 02:52

I need a task that never ends until cancellation is requested. At the moment the simplest way to do that is:

var cancellation = new CancellationTokenSource()         


        
2条回答
  •  醉话见心
    2020-12-19 03:32

    As an alternative to TaskCompletionSource with token.Register, here are some one-liners:

    var task = new Task(() => {}, token); // don't do task.Run()!
    

    Or, simply this:

    var task = Task.Delay(Timeout.Infinite, token);
    

    There's even a nice optimization for Timeout.Infinite in the current Task.Delay implementation.

提交回复
热议问题