异步,线程,node.js和Ruby on Rails
||
除了使用不同的脚本语言之外,似乎node.js的主要吸引力在于它对事件驱动的编程的支持,这使其更易于编写可伸缩服务器(或其他通常受I / O绑定的应用程序)。简化的非阻塞I / O调用。但是,此功能的代价是必须学习一种新的编程模型,该模型本质上要求您在回调函数之后传递回调,这会使一些简单的任务(例如,相关的动作序列)更加复杂。
将该编程模型与Ruby on Rails的传统编程模型进行对比,后者可阻止所有I / O操作,并且是(有效)单线程的(由于MRI的绿色线程实现)。
只是在这里大声做梦,似乎应该有可能实现一个Ruby(或Rails)运行时,该运行时通过捕获I / O调用,透明地将其替换为非阻塞版本,存储当前的延续并进行调用来协调这些模型。 I / O操作完成时。这样,您将获得熟悉的过程编程风格以及事件驱动/异步/回调模型的好处。
这样的运行时(或运行时转换器)在技术上是否可行?是否已经有Web框架在执行此类操作?
没有找到相关结果
已邀请:
2 个回复
缝皋
财沟项胶