Reactor与proActor异同

来源:互联网 发布:网络免费打电话哪个好 编辑:程序博客网 时间:2024/04/30 13:38

Reactor与proActor异同

Reactor与ProActor都是并发设计模式中的设计模式。在我们看来,都是处理派发/分离操作IO事件的。派发/分离事件就是将单独的IO事件通知到上层模块。不同之处是,Preactor用于异步,Reactor用于同步。

可以看出,两个模式的相同点,都是对某个IO事件的事件通知(即告诉某个模块,这个IO操作可以进行或已经完成)。在结构
上,两者也有相同点:demultiplexor负责提交IO操作(异步)、查询设备是否可操作(同步),然后当条件满足时,就回调handler。
不同点在于,异步情况下(Proactor),当回调handler时,表示IO操作已经完成;同步情况下(Reactor),回调handler时,表示
IO设备可以进行某个操作(can read or can write),handler这个时候开始提交操作。