前驱和异步写

时间:2011-04-05 16:14:31

标签: c++ boost-asio ace

Boost asio实现了ACE proactor上的主导设计模式。

我理解为什么我们需要异步读取。 Hovewer,我对异步写错了。

  1. 为什么我们需要异步写? 它对TCP / UDP连接是否有用(可以写入TCP / UDP套接字需要时间)?
  2. 我可以将异步读取与同步写入混合使用吗?

1 个答案:

答案 0 :(得分:4)

  

1)为什么我们需要异步写?它对TCP / UDP连接是否有用(可以   写入TCP / UDP套接字需要时间)?

需要进行异步写入,原因与异步读取完全相同。使用同步写操作时,调用将阻塞,直到所有数据都已传输完毕。出于多种原因,这是不可取的。主要是为了在不使用显式线程的情况下实现并发,这是proactor design pattern

的基础
  

2)我可以将异步读取与同步写入混合使用吗?

是的,他们可以和混合使用。使用异步读操作和同步写操作将是一个非常奇怪的设计。