说说Continuation Server
来源:互联网 发布:移动开放的外部端口 编辑:程序博客网 时间:2024/06/05 07:35
Continuation Server是在一本叫做《Beyond Java》的书上面看到的。这本书写得还不错,只是前面几章略显的罗嗦了一点,反复的讨论着同一个主题。
后面的几章才开始转入主题,讨论了一些比较新的咚咚,例如ruby,rails,continuation server,metaprogramming。其他几个之前都接触过,所以也就算是看了个小结而已,而continuation server则是第一次听说,所以比较留意。他的理念也是比较有创意的。我们的web开发,一般都是以客户端作为主动的,客户端发请求,然后接收响应,然后再发请求...整个流程都是由客户端作推动方。这样的一个结果就是,一般的web框架都是把他们的控制器分成一个个的方法调用,客户端的请求就对应到这些方法调用当中。
continuation server的创新之处就是把这个逻辑反了过来,让服务器作为主动方,服务器发回响应,然后等待客户端输入之后,继续执行,然后发回响应...,整个流程是服务器通过发回响应进行推动。整个过程就像是函数调用那样,服务器发送响应就是函数调用开始,而用户发送请求就是函数的返回。要实现这个效果,就需要服务器端可以在收到请求之后能返回到之前的发送响应的后一语句。
这里的核心就是服务器端需要能够动态的获取运行栈,在发送响应前,先对当前的运行栈作一个快照,然后在响应到达时,重新从快照那里执行,这样就相当于实现了刚才所说的函数调用效果。使用continuation server之后服务器端就只需要一个方法调用,对应初始请求。
public void index(){
snap shot();
发送响应;
if(输入 = ...){
...
}else{
...
}
snap shot();
发送响应;
}
continuation server的工作就是在每次请求到达后,通过之前的快照值,返回到这个方法调用内部。
后面的几章才开始转入主题,讨论了一些比较新的咚咚,例如ruby,rails,continuation server,metaprogramming。其他几个之前都接触过,所以也就算是看了个小结而已,而continuation server则是第一次听说,所以比较留意。他的理念也是比较有创意的。我们的web开发,一般都是以客户端作为主动的,客户端发请求,然后接收响应,然后再发请求...整个流程都是由客户端作推动方。这样的一个结果就是,一般的web框架都是把他们的控制器分成一个个的方法调用,客户端的请求就对应到这些方法调用当中。
continuation server的创新之处就是把这个逻辑反了过来,让服务器作为主动方,服务器发回响应,然后等待客户端输入之后,继续执行,然后发回响应...,整个流程是服务器通过发回响应进行推动。整个过程就像是函数调用那样,服务器发送响应就是函数调用开始,而用户发送请求就是函数的返回。要实现这个效果,就需要服务器端可以在收到请求之后能返回到之前的发送响应的后一语句。
这里的核心就是服务器端需要能够动态的获取运行栈,在发送响应前,先对当前的运行栈作一个快照,然后在响应到达时,重新从快照那里执行,这样就相当于实现了刚才所说的函数调用效果。使用continuation server之后服务器端就只需要一个方法调用,对应初始请求。
public void index(){
snap shot();
发送响应;
if(输入 = ...){
...
}else{
...
}
snap shot();
发送响应;
}
continuation server的工作就是在每次请求到达后,通过之前的快照值,返回到这个方法调用内部。
- 说说Continuation Server
- continuation monad
- 说说SQL SERVER的xml索引
- 说说SQL Server集群服务器的优缺点
- 说说SQL Server 2005中的一致性读
- 说说
- 说说
- 说说
- 说说
- 说说
- 说说
- 说说
- 说说
- 说说
- 说说
- 说说
- 说说
- Ruby中的Continuation
- [Portal参考手册]Portlet描述文件
- [Portal参考手册]Portlet核心API
- [Portal参考手册]Portlet布局框架
- [Portal参考手册]Portlet服务框架
- [Portal参考手册]Portlet持久化
- 说说Continuation Server
- 如何防止欺骗点击作弊的分析
- Audition & CoolEdit 扩展编、解码包
- ACE/TAO 的 rt_event服务 代码分析
- MS Windows Telephony Service Command Execution Exploit (MS05-040)
- 采用POI和ANTLR提取WORD文档数据
- msdatagrid学习心得
- 瑞星2006下载版跳过安装时的序列号检验
- 哈,新家哪~