Given 是一个非常常见的线程场景:
宣言
private Thread _thread;
private bool _isRunning = false;
开始
_thread = new Thread(() => NeverEndingProc());
thread.Start();
方法
private void NeverEndingProc() {
while(_isRunning) {
do();
}
}
可能用于异步 tcp 侦听器,该侦听器等待回调,直到它通过让线程用完而停止(_isRunning = false
)。
现在我想知道:是否可以用 做同样的事情Task
?使用CancellationToken
? 还是Task
s 仅适用于预期结束并报告状态的程序?