读完这篇文章后, http://www.artima.com/articles/io_design_patternsP.html
据我了解,前摄器模式是完全异步的,而 react 器模式则不是。
我所知道的所有流行的异步事件驱动网络框架(Twisted、Gevent、Tornado、Asyncio 和 Node.js)都应用了 react 器设计模式。这是为什么?前摄器模式不是提供更好的性能吗?
最佳答案
因为,正如您引用的这篇文章所指出的,前摄器模式需要对异步 I/O 的内核级(内部)支持,并且并非所有操作系统都在面向用户的 I/O 层中原生提供这种支持。您提到的框架都是多平台工具包/模块,因此需要支持多种操作系统I/O架构。
无需为每个操作系统提供特定于平台的“后端”实现,这些框架选择“最低公分母”设计模式。 Reactor 模式更加通用,因此可以在本地实现,而不需要不同的后端。
关于python - 为什么选择 react 器模式(Twisted、Gevent、Node.js 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37636492/