我想知道如果不是代码的所有部分都是异步的,那么使用异步 http 请求会带来多少好处。
让我们考虑以下场景:1) 异步 http 请求阻塞同步数据库调用,2) 同步 http 请求等待异步数据库调用。
1) Web Api 支持异步操作方法,但是如果我在处理请求时进行同步数据库调用,那么线程会阻塞调用,我将无法获得异步可以给我带来的更好的线程经济性的好处还是什么?
2) 如果我有一个等待异步数据库调用的同步 ServiceStack 服务调用,那么会发生什么?我假设保留了一个线程来处理整个同步 http 请求,并且当该线程等待异步调用时,它仍然保留给 Web 请求或什么?
基本上我的问题可以归结为:如果不是所有的 IO 调用都是异步的,是否有任何理由使用异步?