异步方法究竟是如何实现的

时间:2015-05-26 17:30:41

标签: multithreading asynchronous

老实说,我无法在网上找到这个看似简单的问题的答案。

如何实现异步方法?它是否涉及每次调用方法时创建一个线程,还是有更专业的操作系统服务?

我知道大多数编程语言都有内置工具(例如async关键字),但我要问的是使用的基础操作系统功能。

1 个答案:

答案 0 :(得分:1)

除基本多线程功能外,异步方法没有特殊的操作系统功能。异步方法只是意味着调用者可以继续前进而无需等待方法完成。有时调用者提供回调函数来通知方法何时完成。

根据编程语言,当您编写异步方法时,您可能需要自己编写线程处理。例如,异步方法可以产生新线程来处理请求,或者它可以对请求进行排队,并且一个或多个其他线程可以使请求出列并处理它们。注意"异步"方法实际上涉及一小段同步代码,在这种情况下产生新线程或对请求进行排队,主要任务异步执行,通常在另一个线程中。