reactor vs proactor

Viewed 8922

Could anyone explain the difference between reactor-pattern and proactor-pattern? I know that in reactor-pattern the operations are synchronous and in proactor they're asynchronous and also that in reactor the operation is done by the handler which is handed over to the client by the reactor. (correct me if i am wrong)

Also Which of these pattern is used in case of fail safe and which is used in fail fast?

2 Answers

In reactor pattern you will poll device for readiness to do something, while in proactor you do something and poll for its completion.

The good examples for reactor pattern are: epoll(Linux), kqueue(MacOS, FreeBSD), select(Linux, MacOS, Windows) approaches. The good example for proactor pattern is Windows IOCP approach.

Related