使用异步编程,可以避免性能瓶颈并增强应用程序的总体响应能力。 但是,编写异步应用程序的传统技术可能比较复杂,使它们难以编写、调试和维护。 C# 中的 async 和 await 关键字都是异步编程的核心。 通过使用这两个关键字,可以使用 NET framework 或 Windows 运行时中的资源轻松创建异步方法(几乎与创建同步方法一样轻松)。 通过使用被称为异步方法的 async 和 await 定义的异步方法。 特征: 方法签名包含一个 Async 或 async 修饰符。 按照约定,异步方法的名称以“Async”后缀结尾。 返回类型为下列类型之一: 如果你的方法有 *** 作数为 TResult 类型的返回语句,则为 Tasklt;TResultgt;。 如果你的方法没有返回语句或具有没有 *** 作数的返回语句,则为 Task。 方法通常包含至少一个 await 表达式,该表达式标记一个点,在该点上,直到等待的异步 *** 作完成方法才能继续。 同时,将方法挂起,并且控件返回到方法的调用方。 本主题的下一节将解释悬挂点发生的情况。 在异步方法中,可使用提供的关键字和类型来指示需要完成的 *** 作,且编译器会完成其余 *** 作,其中包括持续跟踪控件以挂起方法返回等待点时发生的情况。 一些常规流程(例如,循环和异常处理)在传统异步代码中处理起来可能很困难。 在异步方法中,元素的编写频率与同步解决方案相同且此问题得到解决。
中断有两种,一种是CPU本身在执行程序的过程中产生的,一种是由CPU外部产生的。
外部中断,就是通常所讲的“中断”(interrupt)。对于执行程序来说,这种“中
断”的发生完全是异步的,因为不知道什么时候会发生。CPU对其的响应也完全是被动的,
可以通过“关中断”指令关闭对其的响应。
由软件产生的中断一般是由专设的指令,如X86中的“INT n”在程序中有意产生的,
是主动的,同步的。只要CPU执行一条INT指令,在开始执行下一条指令之前一定会进入中
断服务程序。这种主动的中断称为“陷阱”(trap)。
以上就是关于如何在没有 async 修饰的方法中使用异步方法全部的内容,包括:如何在没有 async 修饰的方法中使用异步方法、什么是异步中断、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)