3

Boost asio实现了基于ACE proactor的 proactor 设计模式。

我理解为什么我们需要异步读取。但是,我对异步写入感到困惑。

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

1 回答 1

4

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

出于与异步读取相同的原因,需要异步写入。使用同步写入操作时,调用会阻塞,直到所有数据都传输完毕。出于多种原因,这是不可取的。主要是为了在不使用显式线程的情况下实现并发,这是前摄器设计模式的基础。

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

是的,它们可以而且应该混合。使用异步读取操作和同步写入操作将是一个非常奇怪的设计。

于 2011-04-05T16:45:50.437 回答