vis*_*ath 14 java design-patterns
谁能解释反应堆模式和前驱模式之间的区别?我知道在reactor-pattern中,操作是同步的,并且在proactor中它们是异步的,并且在反应器中操作由处理器完成,处理器由反应器移交给客户端.(如果我错了,请纠正我)
另外,在故障安全的情况下使用哪种模式,哪些模式用于快速失败?
在反应器模式中,您将轮询设备是否准备好执行某项操作,而在前摄器模式中,您将执行某项操作并轮询其完成情况。
反应器模式的好例子有:epoll(Linux)、kqueue(MacOS、FreeBSD)、select(Linux、MacOS、Windows) 方法。Windows IOCP 方法是前摄器模式的一个很好的例子。
小智 3
引用快速失败还是安全失败?以及 wiki 文章,我会说 proactor 是故障安全的,而 Reactor 是故障快速的。具有完成处理程序的 Proactor 提供了一种更“安全”的方法。在诸如reactor之类的同步环境中,如果一个任务失败同时阻塞大量资源,就会出现严重的失败。希望这可以帮助。