我是.Net WebApi的新手,因为我知道最好使用异步API而不是同步API,但是有什么区别? 如果API是同步的并且已从客户端调用,并且从另一个客户端调用了另一个电话(如我所检查的),则不会发生中断,并且这两个调用将同时进行。那么,使其成为Async有什么好处?
更新:据我了解,如果请求数量巨大,如果我使用异步,则某些调用的等待时间将减少,因为有更多线程可用于运行任务(因为其中一些已释放以等待数据库调用或网络调用等)。
答案 0 :(得分:3)
在SYNC的情况下,发生的情况是,每个请求都专门分配一个线程,并且仅在完成特定请求后才释放该线程。 在发生ASYNC的情况下,该线程可能会被其他请求重用。
因此,如果您的应用程序是I / O绑定,则可以通过使用ASYNC看到应用程序的显着改进;如果您的应用程序是CPU绑定,则ASYNC不会那么有用。
答案 1 :(得分:-2)
首先,重申同步和异步之间的区别。
{-------------同步任务1 -------------} {--------------同步任务2 ------------}
{----------------------异步任务1 --------------------}
{----------------------异步任务2 --------------------}
我希望您到此为止都能得到答案,为什么这样做有好处。想象一个场景,您的API服务于1000名篮球付款人及其详细信息的列表,同时请求进入城市列表。我敢打赌,如果您在播放播放器列表时得到了某些东西,客户端应用程序看起来会更整洁,不是吗?
第二,API并不喜欢Aync。它是您编程的一种选择。如果您使用全部语言和操作系统功能,那么您的应用程序和用户将从中受益。
教学,
如果您正在使用新的内存缓存或自定义服务器级缓存,则使用异步确实有助于缓存。毕竟,您的客户正在寻找304退货,并且在处理较长的请求时,可以处理较小的请求,即缓存检查。