Proactor和异步写入

问题描述:

Boost asio实现了在ACE proactor上挂着的proactor设计模式。Proactor和异步写入

我明白我们为什么需要异步读取。 Hovewer,我对异步写入感到困惑。

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

你的第二个问题对我来说并不清楚,你的意思是* mix *而不是* mess *? – 2011-04-05 16:29:13

+0

谢谢,更正 – dimba 2011-04-05 16:35:53

1)为什么我们需要的是异步写入?对于TCP/UDP连接也很有用(可以 写入TCP/UDP套接字需要时间)?需要为同样的理由,异步读取

异步写入。当使用同步写入操作时,呼叫会阻塞,直到所有数据传输完毕。由于多种原因,这是不可取的。主要是为了在不使用显式线程的情况下实现并发性,这是proactor design pattern的基础。

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

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

+0

1.写入TCP套接字,例如,长于异步写入操作(创建缓冲区,有时候分配内存块在写入,排队回调等时生效) – dimba 2011-04-05 17:15:24

+1

2.我不明白你的答案 - 应该还是不应该混合? :) – dimba 2011-04-05 17:16:19

+0

2.你能解释为什么吗? – dimba 2011-04-07 04:56:23