当前位置: 首页 >> 科技 >
标准取消Cancel这个程序的实列化是什么?关于async/await原理是什么?
来源:创视网     时间:2023-01-06 08:19:13

标准取消Cancel

实例化一个CancellationTokenSource

包含了一个IsCancellationRequested属性,属性值默认为false

包含了一个Cancel方法,Cancel方法如果被执行,IsCancellationRequested属性值马上更新成true

线程内部判断IsCancellationRequested值,结束线程

包含了一个Token属性,可以Register注册一个委托,创建Task的时候传入,线程结束后调用

async/await原理

如果给方法加上Async,在底层会生成一个状态机,一个对象在不同的状态可以执行的不同的行为

(1)实例化状态机

(2)把状态机实例交给一个build去执行

(3)整理线程的上下文

(4)stateMachine.MoveNext();

(5)MoveNext如何执行,先获取一个状态,继续往后执行

(6)如果有异常,抛出异常,把状态重置为-2

(7)如果没有异常,把状态重置重置为-2

(8)SetResult();把结果包裹成一个Task

推荐新闻 +
猜您喜欢 +