c# 异步编程
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; font-weight: bold; overflow-wrap: break-word"><span style="color: rgba(107, 107, 107, 1); font-size: 12px; font-weight: 400">原文链接:</span></span>https://blog.csdn.net/zuheyawen/article/details/99863588</p><p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; font-weight: bold; overflow-wrap: break-word">前言</span><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">C#异步编程有几种实现方式,异步方法就是其中的一种。异步方法是 C#5.0 才有的新特性,主要采用 async、await 关键字声明为异步方法,完成对方法的异步调用。C#5.0 对应的 VS 版本是 VS2012,对应的 .NET Framework 版本是 v4.5,所以需要在此基础上才支持。(否则可能报:找不到“async”修饰符所需的所有类型。目标框架版本是否不正确,或者缺少对程序集的引用?)</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; font-weight: bold; overflow-wrap: break-word">什么是异步方法</span><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1. 异步方法,是指在执行当前方法的同时,可以异步的去调用其他方法(异步方法),并且不会阻塞当前方法的线程。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2. 使用了 async 修饰符的方法称为异步方法,通常配合 await 运算符和 Task 异步任务一起使用。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1) 如果方法使用了 async 修饰符,则方法中需要包含一个以上 await 运算符,否则将以同步执行。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) 反之,如果方法中包含一个以上 await 运算符,则必须声明为一个异步方法,即使用 async 修饰符。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">3. Task 分为两种:<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1) Task,表示可以执行一个异步操作,声明如下:<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">public class Task : IAsyncResult, IDisposable { }<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) Task<TResult>,表示可以执行带有返回值的异步操作,声明如下:<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">public class Task<TResult> : Task { }</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">4. 异步方法的返回类型必须为 void、Task、Task<TResult> 中的其中一种。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1) void,表示无返回值,不关心异步方法执行后的结果,一般用于仅仅执行某一项任务,但是不关心结果的场景。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) Task,表示异步方法将返回一个 Task 对象,该对象通常用于判断异步任务是否已经完成,可以使用 taskObj.Wait() 方法等待,或者 taskObj.IsCompleted 判断。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">3) Task<TResult>,表示异步方法将返回一个 Task<TResult> 对象,该对象的 Result 属性则是异步方法的执行结果,调用该属性时将阻塞当前线程(异步方法未执行完成时)。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">归纳一下:void 不关心结果;Task 只关心是否执行完成;Task<TResult> 不止关心是否执行完成,还要获取执行结果。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">下面通过几个生活中比较形象的例子来理解异步方法的使用<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(51, 153, 234, 1)">1. 模拟扔垃圾(不关心结果,返回 void 类型)</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">/// <summary>
/// 扔垃圾
/// </summary>
public void DropLitter()
{
Console.WriteLine("老婆开始打扫房间,线程Id为:{0}", GetThreadId());
Console.WriteLine("垃圾满了,快去扔垃圾");
CommandDropLitter();
Console.WriteLine("不管他继续打扫,线程Id为:{0}", GetThreadId());
Thread.Sleep(100);
Console.WriteLine("老婆把房间打扫好了,线程Id为:{0}", GetThreadId());
}
/// <summary>
/// 通知我去扔垃圾
/// </summary>
public async void CommandDropLitter()
{
Console.WriteLine("这时我准备去扔垃圾,线程Id为:{0}", GetThreadId());
await Task.Run(() =>
{
Console.WriteLine("屁颠屁颠的去扔垃圾,线程Id为:{0}", GetThreadId());
Thread.Sleep(1000);
});
Console.WriteLine("垃圾扔了还有啥吩咐,线程Id为:{0}", GetThreadId());
}
</pre>
</div>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="373" height="120" data-src="https://img-blog.csdnimg.cn/20190820171339331.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">以上代码在 CommandDropLitter() 方法上加了 async 修饰符,并且使用 await 运算符开启了一个新的 Task 去执行另一个任务。注意:当前线程遇到 await 时,则立刻跳回调用方法继续往下执行。而 Task 执行完成之后将执行 await 之后的代码,并且与 await 之前的线程不是同一个。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(51, 153, 234, 1)">2.模拟打开电源开关(关心是否执行完成,返回 Task 类型)</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">/// <summary>
/// 打开电源开关
/// </summary>
public void OpenMainsSwitch()
{
Console.WriteLine("我和老婆正在看电视,线程Id为:{0}", GetThreadId());
Console.WriteLine("突然停电了,快去看下是不是跳闸了");
Task task = CommandOpenMainsSwitch();
Console.WriteLine("没电了先玩会儿手机吧,线程Id为:{0}", GetThreadId());
Thread.Sleep(100);
Console.WriteLine("手机也没电了只等电源打开,线程Id为:{0}", GetThreadId());
//task.Wait(); //所以这里将被阻塞,直到任务完成
//或者
while (!task.IsCompleted) { Thread.Sleep(100); }
Console.WriteLine("又有电了我们继续看电视,线程Id为:{0}", GetThreadId());
}
/// <summary>
/// 通知我去打开电源开关
/// </summary>
public async Task CommandOpenMainsSwitch()
{
Console.WriteLine("这时我准备去打开电源开关,线程Id为:{0}", GetThreadId());
await Task.Run(() =>
{
Console.WriteLine("屁颠屁颠的去打开电源开关,线程Id为:{0}", GetThreadId());
Thread.Sleep(1000);
});
Console.WriteLine("电源开关打开了,线程Id为:{0}", GetThreadId());
}
</pre>
</div>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="397" height="134" data-src="https://img-blog.csdnimg.cn/201908201715276.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">1) 可见,调用 Wait() 方法后,当前线程被阻塞了,直到 Task 执行完成后,当前线程才继续执行。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) 注意:由于 CommandOpenMainsSwitch() 是一个异步方法,虽然返回类型为 Task 类型,但是在我们代码中并没有写(也不能写) return task 语句,这是为什么呢?可能是这种返回类型比较特殊,或者编译器自动帮我们完成了吧!就算写也只能写 return 语句,后面不能跟对象表达式。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(51, 153, 234, 1)">3. 模拟去买盐(不止关心是否执行完成,还要获取执行结果。返回 Task<TResult> 类型)</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">/// <summary>
/// 做饭
/// </summary>
public void CookDinner()
{
Console.WriteLine("老婆开始做饭,线程Id为:{0}", GetThreadId());
Console.WriteLine("哎呀,没盐了");
Task<string> task = CommandBuySalt();
Console.WriteLine("不管他继续炒菜,线程Id为:{0}", GetThreadId());
Thread.Sleep(100);
string result = task.Result; //必须要用盐了,等我把盐回来(停止炒菜(阻塞线程))
Console.WriteLine("用了盐炒的菜就是好吃【{0}】,线程Id为:{1}", result, GetThreadId());
Console.WriteLine("老婆把饭做好了,线程Id为:{0}", GetThreadId());
}
/// <summary>
/// 通知我去买盐
/// </summary>
public async Task<string> CommandBuySalt()
{
Console.WriteLine("这时我准备去买盐了,线程Id为:{0}", GetThreadId());
string result = await Task.Run(() =>
{
Console.WriteLine("屁颠屁颠的去买盐,线程Id为:{0}", GetThreadId());
Thread.Sleep(1000);
return "盐买回来了,顺便我还买了一包烟";
});
Console.WriteLine("{0},线程Id为:{1}", result, GetThreadId());
return result;
}
</pre>
</div>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="551" height="135" data-src="https://img-blog.csdnimg.cn/2019082017165389.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">1) 以上代码 task.Result 会阻塞当前线程,与 task.Wait() 类似。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) 注意:与前面返回类型为 Task 的 CommandOpenMainsSwitch() 方法一样,虽然 CommandBuySalt() 方法返回类型为 Task<string>,但是我们的返回语句是 return 字符串。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; font-weight: bold; overflow-wrap: break-word">其他示例</span><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1. 在前面(模拟去买盐)的示例中,异步方法中只开启了一个 Task,如果开启多个 Task 又是什么情况,看代码:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">public void AsyncTest()
{
Console.WriteLine("AsyncTest() 方法开始执行,线程Id为:{0}", GetThreadId());
Task task = Test1();
Console.WriteLine("AsyncTest() 方法继续执行,线程Id为:{0}", GetThreadId());
task.Wait();
Console.WriteLine("AsyncTest() 方法结束执行,线程Id为:{0}", GetThreadId());
}
public async Task Test1()
{
Console.WriteLine("Test1() 方法开始执行,线程Id为:{0}", GetThreadId());
await Task.Factory.StartNew((state) =>
{
Console.WriteLine("Test1() 方法中的 {0} 开始执行,线程Id为:{1}", state, GetThreadId());
Thread.Sleep(1000);
Console.WriteLine("Test1() 方法中的 {0} 结束执行,线程Id为:{1}", state, GetThreadId());
}, "task1");
await Task.Factory.StartNew((state) =>
{
Console.WriteLine("Test1() 方法中的 {0} 开始执行,线程Id为:{1}", state, GetThreadId());
Thread.Sleep(3000);
Console.WriteLine("Test1() 方法中的 {0} 结束执行,线程Id为:{1}", state, GetThreadId());
}, "task2");
Console.WriteLine("Test1() 方法结束执行,线程Id为:{0}", GetThreadId());
}
</pre>
</div>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="426" height="156" data-src="https://img-blog.csdnimg.cn/2019082017183851.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">当异步方法中有多个 await 时,会依次执行所有的 Task,只有当所有 Task 执行完成后才表示异步方法执行完成,当前线程才得以执行。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">2. 同样以前面(模拟去买盐)的示例,如果发现其实家里还有盐,这是就要告诉我不用买了(取消异步操作),怎么实现?这就要借助 System.Threading.CancellationTokenSource 和 System.Threading.Tasks.CancellationToken 对象来完成。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">/// <summary>
/// 做饭(买盐任务取消)
/// </summary>
public void CookDinner_CancelBuySalt()
{
Console.WriteLine("老婆开始做饭,线程Id为:{0}", GetThreadId());
Console.WriteLine("哎呀,没盐了");
CancellationTokenSource source = new CancellationTokenSource();
Task<string> task = CommandBuySalt_CancelBuySalt(source.Token);
Console.WriteLine("不管他继续炒菜,线程Id为:{0}", GetThreadId());
Thread.Sleep(100);
string result = "家里的盐";
if (!string.IsNullOrEmpty(result))
{
source.Cancel(); //传达取消请求
Console.WriteLine("家里还有盐不用买啦,线程Id为:{0}", GetThreadId());
}
else
{
//如果已取消就不能再获得结果了(否则将抛出 System.Threading.Tasks.TaskCanceledException 异常)
//你都叫我不要买了,我拿什么给你?
result = task.Result;
}
Console.WriteLine("既然有盐我就继续炒菜【{0}】,线程Id为:{1}", result, GetThreadId());
Console.WriteLine("老婆把饭做好了,线程Id为:{0}", GetThreadId());
Console.WriteLine("最终的任务状态是:{0},已完成:{1},已取消:{2},已失败:{3}",
task.Status, task.IsCompleted, task.IsCanceled, task.IsFaulted);
}
/// <summary>
/// 通知我去买盐(又告诉我不用买了)
/// </summary>
public async Task<string> CommandBuySalt_CancelBuySalt(CancellationToken token)
{
Console.WriteLine("这时我准备去买盐了,线程Id为:{0}", GetThreadId());
//已开始执行的任务不能被取消
string result = await Task.Run(() =>
{
Console.WriteLine("屁颠屁颠的去买盐,线程Id为:{0}", GetThreadId());
Thread.Sleep(1000);
}, token).ContinueWith((t) =>//若没有取消就继续执行
{
Console.WriteLine("盐已经买好了,线程Id为:{0}", GetThreadId());
Thread.Sleep(1000);
return "盐买回来了,顺便我还买了一包烟";
}, token);
Console.WriteLine("{0},线程Id为:{1}", result, GetThreadId());
return result;
}
</pre>
</div>
<p><span style="color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px">运行以上代码:</span><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in; color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px" alt="" width="587" height="151" data-src="https://img-blog.csdnimg.cn/20190820171944324.jpg"><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px"><span style="color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px">1) 刚开始我以为调用 source.Cancel() 方法后会立即取消 Task 的执行,仔细一想也不太可能。如果需要在 Task 执行前或者执行期间完成取消操作,我们自己写代码判断 cancellationToken.IsCancellationRequested 属性是否为 true(该属性在调用 source.Cancel() 后或者 source.CancelAfter() 方法到达指定时间后为 true),如果为 true 结束执行即可。</span><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px"><span style="color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px">2) 这里所说的“传达取消请求”的意思是,每个 Task 在执行之前都会检查 cancellationToken.IsCancellationRequested 属性是否为 true,如果为 true 则不执行 Task,并将设置 Status、IsCompleted、IsCanceled 等。</span><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px"><span style="color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px">3) 所以,在 Task 的源码中有这样一段代码</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">if (cancellationToken.IsCancellationRequested)
{
// Fast path for an already-canceled cancellationToken
this.InternalCancel(false);
}
</pre>
</div>
<p><span style="color: rgba(77, 77, 77, 1); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px">3. 乘热打铁,我们再来看看多个 CancellationTokenSource 取消异步任务,以及注册取消后的回调委托方法,继续以(模拟去买盐)为例:</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">/// <summary>
/// 做饭(多个消息传达买盐任务取消)
/// </summary>
public void CookDinner_MultiCancelBuySalt()
{
Console.WriteLine("老婆开始做饭,线程Id为:{0}", GetThreadId());
Console.WriteLine("哎呀,没盐了");
CancellationTokenSource source1 = new CancellationTokenSource(); //因为存在而取消
CancellationTokenSource source2 = new CancellationTokenSource(); //因为放弃而取消
CancellationTokenSource source = CancellationTokenSource.CreateLinkedTokenSource(source1.Token, source2.Token);
//注册取消时的回调委托
source1.Token.Register(() =>
{
Console.WriteLine("这是因为{0}所以取消,线程Id为:{1}", "家里还有盐", GetThreadId());
});
source2.Token.Register((state) =>
{
Console.WriteLine("这是因为{0}所以取消,线程Id为:{1}", state, GetThreadId());
}, "不做了出去吃");
source.Token.Register((state) =>
{
Console.WriteLine("这是因为{0}所以取消,线程Id为:{1}", state, GetThreadId());
}, "没理由");
//这里必须传递 CancellationTokenSource.CreateLinkedTokenSource() 方法返回的 Token 对象
Task<string> task = CommandBuySalt_MultiCancelBuySalt(source.Token);
Console.WriteLine("等等,好像不用买了,线程Id为:{0}", GetThreadId());
Thread.Sleep(100);
string[] results = new string[] { "家里的盐", "不做了出去吃", "没理由" };
Random r = new Random();
switch (r.Next(1, 4))
{
case 1:
source1.Cancel(); //传达取消请求(家里有盐)
//source1.CancelAfter(3000);//3s后才调用取消的回调方法
Console.WriteLine("既然有盐我就继续炒菜【{0}】,线程Id为:{1}", results, GetThreadId());
break;
case 2:
source2.Cancel(); //传达取消请求(不做了出去吃)
//source2.CancelAfter(3000);//3s后才调用取消的回调方法
Console.WriteLine("我们出去吃不用买啦【{0}】,线程Id为:{1}", results, GetThreadId());
break;
case 3:
source.Cancel(); //传达取消请求(没理由)
//source.CancelAfter(3000); //3s后才调用取消的回调方法
Console.WriteLine("没理由就是不用买啦【{0}】,线程Id为:{1}", results, GetThreadId());
break;
}
Console.WriteLine("最终的任务状态是:{0},已完成:{1},已取消:{2},已失败:{3}",
task.Status, task.IsCompleted, task.IsCanceled, task.IsFaulted);
}
/// <summary>
/// 通知我去买盐(又告诉我不用买了,各种理由)
/// </summary>
public async Task<string> CommandBuySalt_MultiCancelBuySalt(CancellationToken token)
{
Console.WriteLine("这时我准备去买盐了,线程Id为:{0}", GetThreadId());
//已开始执行的任务不能被取消
string result = await Task.Run(() =>
{
Console.WriteLine("屁颠屁颠的去买盐,线程Id为:{0}", GetThreadId());
Thread.Sleep(1000);
}, token).ContinueWith((t) =>//若没有取消就继续执行
{
Console.WriteLine("盐已经买好了,线程Id为:{0}", GetThreadId());
Thread.Sleep(1000);
return "盐买回来了,顺便我还买了一包烟";
}, token);
Console.WriteLine("{0},线程Id为:{1}", result, GetThreadId());
return result;
}
</pre>
</div>
<div id="article_content" class="article_content clearfix" style="box-sizing: inherit; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">
<div id="content_views" class="htmledit_views" style="box-sizing: inherit; outline: 0; margin: 0; padding: 0; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif, SimHei, SimSun; overflow-wrap: break-word; position: relative; min-height: 70px">
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="602" height="161" data-src="https://img-blog.csdnimg.cn/20190820172107367.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">1) 当调用 source.Cancel() 方法后,会立即取消并调用 token 注册的回调方法;而调用 existSource.CancelAfter() 方法则会等到达指定的毫秒数后才会取消。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) 注意:传递给异步方法的 token 对象,必须是 CancellationTokenSource.CreateLinkedTokenSource() 方法返回的 Token 对象,否则取消将无效。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">3) 回调的委托方法始终只有两个,一个是 CancellationTokenSource.CreateLinkedTokenSource() 方法返回的 Token 对象的注册委托,另一个是调用 Cancel()/CancelAfter() 方法的 Token 对象的注册委托。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">4) 如果以上代码调用的是 CancelAfter(3000) 方法,运行结果如下:<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="705" height="186" data-src="https://img-blog.csdnimg.cn/20190820172227314.jpg"></p>
</div>
</div>
<div class="article-source-link" style="box-sizing: inherit; outline: 0; margin: 4px 0 12px; padding: 0; overflow-wrap: break-word; font-size: 12px; color: rgba(107, 107, 107, 1); line-height: 18px; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif">原文链接:https://www.cnblogs.com/abeam/p/11227935.html</div>
<div id="content_views" class="htmledit_views" style="box-sizing: inherit; outline: 0; margin: 0; padding: 0; font-family: -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif, SimHei, SimSun; overflow-wrap: break-word; position: relative; min-height: 70px; color: rgba(51, 51, 51, 1)">
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; font-weight: bold; overflow-wrap: break-word">前言</span><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">C#异步编程有几种实现方式,异步方法就是其中的一种。异步方法是 C#5.0 才有的新特性,主要采用 async、await 关键字声明为异步方法,完成对方法的异步调用。C#5.0 对应的 VS 版本是 VS2012,对应的 .NET Framework 版本是 v4.5,所以需要在此基础上才支持。(否则可能报:找不到“async”修饰符所需的所有类型。目标框架版本是否不正确,或者缺少对程序集的引用?)</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; font-weight: bold; overflow-wrap: break-word">什么是异步方法</span><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1. 异步方法,是指在执行当前方法的同时,可以异步的去调用其他方法(异步方法),并且不会阻塞当前方法的线程。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2. 使用了 async 修饰符的方法称为异步方法,通常配合 await 运算符和 Task 异步任务一起使用。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1) 如果方法使用了 async 修饰符,则方法中需要包含一个以上 await 运算符,否则将以同步执行。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) 反之,如果方法中包含一个以上 await 运算符,则必须声明为一个异步方法,即使用 async 修饰符。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">3. Task 分为两种:<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1) Task,表示可以执行一个异步操作,声明如下:<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">public class Task : IAsyncResult, IDisposable { }<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) Task<TResult>,表示可以执行带有返回值的异步操作,声明如下:<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">public class Task<TResult> : Task { }</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">4. 异步方法的返回类型必须为 void、Task、Task<TResult> 中的其中一种。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1) void,表示无返回值,不关心异步方法执行后的结果,一般用于仅仅执行某一项任务,但是不关心结果的场景。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) Task,表示异步方法将返回一个 Task 对象,该对象通常用于判断异步任务是否已经完成,可以使用 taskObj.Wait() 方法等待,或者 taskObj.IsCompleted 判断。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">3) Task<TResult>,表示异步方法将返回一个 Task<TResult> 对象,该对象的 Result 属性则是异步方法的执行结果,调用该属性时将阻塞当前线程(异步方法未执行完成时)。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">归纳一下:void 不关心结果;Task 只关心是否执行完成;Task<TResult> 不止关心是否执行完成,还要获取执行结果。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">下面通过几个生活中比较形象的例子来理解异步方法的使用<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(51, 153, 234, 1)">1. 模拟扔垃圾(不关心结果,返回 void 类型)</span></p>
<ol class="hljs-ln" style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding: 0; list-style: none; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; border-collapse: collapse; font-size: 16px; overflow: hidden; overflow-wrap: break-word">
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 扔垃圾</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">void</span> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">DropLitter</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"老婆开始打扫房间,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"垃圾满了,快去扔垃圾"</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> CommandDropLitter();</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"不管他继续打扫,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">100</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"老婆把房间打扫好了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 通知我去扔垃圾</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">async</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">void</span> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">CommandDropLitter</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"这时我准备去扔垃圾,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">await</span> Task.Run(() =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"屁颠屁颠的去扔垃圾,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1000</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> });</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"垃圾扔了还有啥吩咐,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
</ol>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="373" height="120" data-src="https://img-blog.csdnimg.cn/20190820171339331.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">以上代码在 CommandDropLitter() 方法上加了 async 修饰符,并且使用 await 运算符开启了一个新的 Task 去执行另一个任务。注意:当前线程遇到 await 时,则立刻跳回调用方法继续往下执行。而 Task 执行完成之后将执行 await 之后的代码,并且与 await 之前的线程不是同一个。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(51, 153, 234, 1)">2.模拟打开电源开关(关心是否执行完成,返回 Task 类型)</span></p>
<ol class="hljs-ln" style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding: 0; list-style: none; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; border-collapse: collapse; font-size: 16px; overflow: hidden; overflow-wrap: break-word">
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 打开电源开关</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">void</span> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">OpenMainsSwitch</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"我和老婆正在看电视,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"突然停电了,快去看下是不是跳闸了"</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Task task = CommandOpenMainsSwitch();</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"没电了先玩会儿手机吧,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">100</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"手机也没电了只等电源打开,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//task.Wait(); //所以这里将被阻塞,直到任务完成</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//或者</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">while</span> (!task.IsCompleted) { Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">100</span>); }</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"又有电了我们继续看电视,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 通知我去打开电源开关</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">async</span> Task <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">CommandOpenMainsSwitch</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"这时我准备去打开电源开关,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">await</span> Task.Run(() =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"屁颠屁颠的去打开电源开关,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1000</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> });</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"电源开关打开了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
</ol>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="397" height="134" data-src="https://img-blog.csdnimg.cn/201908201715276.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">1) 可见,调用 Wait() 方法后,当前线程被阻塞了,直到 Task 执行完成后,当前线程才继续执行。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) 注意:由于 CommandOpenMainsSwitch() 是一个异步方法,虽然返回类型为 Task 类型,但是在我们代码中并没有写(也不能写) return task 语句,这是为什么呢?可能是这种返回类型比较特殊,或者编译器自动帮我们完成了吧!就算写也只能写 return 语句,后面不能跟对象表达式。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; color: rgba(51, 153, 234, 1)">3. 模拟去买盐(不止关心是否执行完成,还要获取执行结果。返回 Task<TResult> 类型)</span></p>
<ol class="hljs-ln" style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding: 0; list-style: none; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; border-collapse: collapse; font-size: 16px; overflow: hidden; overflow-wrap: break-word">
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 做饭</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">void</span> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">CookDinner</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"老婆开始做饭,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"哎呀,没盐了"</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Task<<span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span>> task = CommandBuySalt();</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"不管他继续炒菜,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">100</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span> result = task.Result; <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//必须要用盐了,等我把盐回来(停止炒菜(阻塞线程))</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"用了盐炒的菜就是好吃【{0}】,线程Id为:{1}"</span>, result, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"老婆把饭做好了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 通知我去买盐</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">async</span> Task<<span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span>> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">CommandBuySalt</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"这时我准备去买盐了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span> result = <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">await</span> Task.Run(() =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"屁颠屁颠的去买盐,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1000</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">return</span> <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"盐买回来了,顺便我还买了一包烟"</span>;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> });</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"{0},线程Id为:{1}"</span>, result, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">return</span> result;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
</ol>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="551" height="135" data-src="https://img-blog.csdnimg.cn/2019082017165389.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">1) 以上代码 task.Result 会阻塞当前线程,与 task.Wait() 类似。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) 注意:与前面返回类型为 Task 的 CommandOpenMainsSwitch() 方法一样,虽然 CommandBuySalt() 方法返回类型为 Task<string>,但是我们的返回语句是 return 字符串。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><span style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; font-weight: bold; overflow-wrap: break-word">其他示例</span><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1. 在前面(模拟去买盐)的示例中,异步方法中只开启了一个 Task,如果开启多个 Task 又是什么情况,看代码:</p>
<ol class="hljs-ln" style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding: 0; list-style: none; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; border-collapse: collapse; font-size: 16px; overflow: hidden; overflow-wrap: break-word">
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">void</span> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">AsyncTest</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"AsyncTest() 方法开始执行,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Task task = Test1();</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"AsyncTest() 方法继续执行,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> task.Wait();</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"AsyncTest() 方法结束执行,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">async</span> Task <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">Test1</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"Test1() 方法开始执行,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">await</span> Task.Factory.StartNew((state) =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"Test1() 方法中的 {0} 开始执行,线程Id为:{1}"</span>, state, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1000</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"Test1() 方法中的 {0} 结束执行,线程Id为:{1}"</span>, state, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }, <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"task1"</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">await</span> Task.Factory.StartNew((state) =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"Test1() 方法中的 {0} 开始执行,线程Id为:{1}"</span>, state, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">3000</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"Test1() 方法中的 {0} 结束执行,线程Id为:{1}"</span>, state, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }, <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"task2"</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"Test1() 方法结束执行,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
</ol>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="426" height="156" data-src="https://img-blog.csdnimg.cn/2019082017183851.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">当异步方法中有多个 await 时,会依次执行所有的 Task,只有当所有 Task 执行完成后才表示异步方法执行完成,当前线程才得以执行。</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">2. 同样以前面(模拟去买盐)的示例,如果发现其实家里还有盐,这是就要告诉我不用买了(取消异步操作),怎么实现?这就要借助 System.Threading.CancellationTokenSource 和 System.Threading.Tasks.CancellationToken 对象来完成。</p>
<ol class="hljs-ln" style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding: 0; list-style: none; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; border-collapse: collapse; font-size: 16px; overflow: hidden; overflow-wrap: break-word">
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 做饭(买盐任务取消)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">void</span> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">CookDinner_CancelBuySalt</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"老婆开始做饭,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"哎呀,没盐了"</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> CancellationTokenSource source = <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">new</span> CancellationTokenSource();</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Task<<span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span>> task = CommandBuySalt_CancelBuySalt(source.Token);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"不管他继续炒菜,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">100</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span> result = <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"家里的盐"</span>;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">if</span> (!<span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span>.IsNullOrEmpty(result))</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> source.Cancel(); <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//传达取消请求</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"家里还有盐不用买啦,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">else</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//如果已取消就不能再获得结果了(否则将抛出 System.Threading.Tasks.TaskCanceledException 异常)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//你都叫我不要买了,我拿什么给你?</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> result = task.Result;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"既然有盐我就继续炒菜【{0}】,线程Id为:{1}"</span>, result, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"老婆把饭做好了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"最终的任务状态是:{0},已完成:{1},已取消:{2},已失败:{3}"</span>,</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> task.Status, task.IsCompleted, task.IsCanceled, task.IsFaulted);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 通知我去买盐(又告诉我不用买了)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">async</span> Task<<span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span>> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">CommandBuySalt_CancelBuySalt</span>(<span class="hljs-params" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">CancellationToken token</span>)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"这时我准备去买盐了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//已开始执行的任务不能被取消</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span> result = <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">await</span> Task.Run(() =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"屁颠屁颠的去买盐,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1000</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }, token).ContinueWith((t) => <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//若没有取消就继续执行</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"盐已经买好了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1000</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">return</span> <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"盐买回来了,顺便我还买了一包烟"</span>;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }, token);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"{0},线程Id为:{1}"</span>, result, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">return</span> result;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
</ol>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="587" height="151" data-src="https://img-blog.csdnimg.cn/20190820171944324.jpg"><br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">1) 刚开始我以为调用 source.Cancel() 方法后会立即取消 Task 的执行,仔细一想也不太可能。如果需要在 Task 执行前或者执行期间完成取消操作,我们自己写代码判断 cancellationToken.IsCancellationRequested 属性是否为 true(该属性在调用 source.Cancel() 后或者 source.CancelAfter() 方法到达指定时间后为 true),如果为 true 结束执行即可。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) 这里所说的“传达取消请求”的意思是,每个 Task 在执行之前都会检查 cancellationToken.IsCancellationRequested 属性是否为 true,如果为 true 则不执行 Task,并将设置 Status、IsCompleted、IsCanceled 等。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">3) 所以,在 Task 的源码中有这样一段代码</p>
<ol class="hljs-ln" style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding: 0; list-style: none; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; border-collapse: collapse; font-size: 16px; overflow: hidden; overflow-wrap: break-word">
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">if</span> (cancellationToken.IsCancellationRequested)</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">// Fast path for an already-canceled cancellationToken</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">this</span>.InternalCancel(<span class="hljs-literal" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(1, 132, 187, 1); overflow-wrap: break-word">false</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
</ol>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">3. 乘热打铁,我们再来看看多个 CancellationTokenSource 取消异步任务,以及注册取消后的回调委托方法,继续以(模拟去买盐)为例:</p>
<ol class="hljs-ln" style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding: 0; list-style: none; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; border-collapse: collapse; font-size: 16px; overflow: hidden; overflow-wrap: break-word; width: 959px">
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 做饭(多个消息传达买盐任务取消)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">void</span> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">CookDinner_MultiCancelBuySalt</span>()</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"老婆开始做饭,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"哎呀,没盐了"</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> CancellationTokenSource source1 = <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">new</span> CancellationTokenSource(); <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//因为存在而取消</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> CancellationTokenSource source2 = <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">new</span> CancellationTokenSource(); <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//因为放弃而取消</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> CancellationTokenSource source = CancellationTokenSource.CreateLinkedTokenSource(source1.Token, source2.Token);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//注册取消时的回调委托</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> source1.Token.Register(() =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"这是因为{0}所以取消,线程Id为:{1}"</span>, <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"家里还有盐"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> });</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> source2.Token.Register((state) =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"这是因为{0}所以取消,线程Id为:{1}"</span>, state, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }, <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"不做了出去吃"</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> source.Token.Register((state) =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"这是因为{0}所以取消,线程Id为:{1}"</span>, state, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }, <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"没理由"</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//这里必须传递 CancellationTokenSource.CreateLinkedTokenSource() 方法返回的 Token 对象</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Task<<span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span>> task = CommandBuySalt_MultiCancelBuySalt(source.Token);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"等等,好像不用买了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">100</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span>[] results = <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">new</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span>[] { <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"家里的盐"</span>, <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"不做了出去吃"</span>, <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"没理由"</span> };</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Random r = <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">new</span> Random();</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">switch</span> (r.Next(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1</span>, <span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">4</span>))</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">case</span> <span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1</span>:</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> source1.Cancel(); <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//传达取消请求(家里有盐)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//source1.CancelAfter(3000); //3s后才调用取消的回调方法</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"既然有盐我就继续炒菜【{0}】,线程Id为:{1}"</span>, results[<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">0</span>], GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">break</span>;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">case</span> <span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">2</span>:</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> source2.Cancel(); <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//传达取消请求(不做了出去吃)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//source2.CancelAfter(3000); //3s后才调用取消的回调方法</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"我们出去吃不用买啦【{0}】,线程Id为:{1}"</span>, results[<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1</span>], GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">break</span>;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">case</span> <span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">3</span>:</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> source.Cancel(); <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//传达取消请求(没理由)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//source.CancelAfter(3000); //3s后才调用取消的回调方法</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"没理由就是不用买啦【{0}】,线程Id为:{1}"</span>, results[<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">2</span>], GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">break</span>;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"最终的任务状态是:{0},已完成:{1},已取消:{2},已失败:{3}"</span>,</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> task.Status, task.IsCompleted, task.IsCanceled, task.IsFaulted);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"><summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> 通知我去买盐(又告诉我不用买了,各种理由)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word"><span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">///</span> <span class="hljs-doctag" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word"></summary></span></span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-function" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"><span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">public</span> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">async</span> Task<<span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span>> <span class="hljs-title" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(64, 120, 242, 1); overflow-wrap: break-word">CommandBuySalt_MultiCancelBuySalt</span>(<span class="hljs-params" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">CancellationToken token</span>)</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">{</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"这时我准备去买盐了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//已开始执行的任务不能被取消</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">string</span> result = <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">await</span> Task.Run(() =></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"屁颠屁颠的去买盐,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1000</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }, token).ContinueWith((t) => <span class="hljs-comment" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(160, 161, 167, 1); font-style: italic; overflow-wrap: break-word">//若没有取消就继续执行</span></div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> {</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"盐已经买好了,线程Id为:{0}"</span>, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Thread.Sleep(<span class="hljs-number" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(152, 104, 1, 1); overflow-wrap: break-word">1000</span>);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">return</span> <span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"盐买回来了,顺便我还买了一包烟"</span>;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> }, token);</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> Console.WriteLine(<span class="hljs-string" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(80, 161, 79, 1); overflow-wrap: break-word">"{0},线程Id为:{1}"</span>, result, GetThreadId());</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px"> </div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word"> <span class="hljs-keyword" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; color: rgba(166, 38, 164, 1); overflow-wrap: break-word">return</span> result;</div>
</div>
</li>
<li style="box-sizing: border-box; outline: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; list-style-type: none; overflow-wrap: break-word; height: 22px">
<div class="hljs-ln-numbers" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px; width: 24px; border-right: 1px solid rgba(197, 197, 197, 1)"> </div>
<div class="hljs-ln-code" style="box-sizing: border-box; outline: 0; margin: 0 0 0 8px; padding: 0; overflow-wrap: break-word; font-family: "Source Code Pro", "DejaVu Sans Mono", "Ubuntu Mono", "Anonymous Pro", "Droid Sans Mono", Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; float: left; height: 22px">
<div class="hljs-ln-line" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">}</div>
</div>
</li>
</ol>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">运行以上代码:</p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word"><img class="has lazyload" style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; max-width: 100%; overflow-wrap: break-word; cursor: zoom-in" alt="" width="602" height="161" data-src="https://img-blog.csdnimg.cn/20190820172107367.jpg"></p>
<p style="box-sizing: border-box; outline: 0; margin: 0 0 16px; padding: 0; font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 16px; color: rgba(77, 77, 77, 1); line-height: 26px; overflow-x: auto; overflow-wrap: break-word">1) 当调用 source.Cancel() 方法后,会立即取消并调用 token 注册的回调方法;而调用 existSource.CancelAfter() 方法则会等到达指定的毫秒数后才会取消。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">2) 注意:传递给异步方法的 token 对象,必须是 CancellationTokenSource.CreateLinkedTokenSource() 方法返回的 Token 对象,否则取消将无效。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">3) 回调的委托方法始终只有两个,一个是 CancellationTokenSource.CreateLinkedTokenSource() 方法返回的 Token 对象的注册委托,另一个是调用 Cancel()/CancelAfter() 方法的 Token 对象的注册委托。<br style="box-sizing: border-box; outline: 0; margin: 0; padding: 0; overflow-wrap: break-word">4) 如果以上代码调用的是 CancelAfter(3000) 方法,运行结果如下:</p>
</div><br><br>
来源:https://www.cnblogs.com/wcrBlog/p/11690460.html
頁:
[1]