- 博客(13)
- 资源 (18)
- 收藏
- 关注
转载 Ruby Actor指南(五)实现Actor
写这个指南的时候,计划是第五章写一个Fiber的应用例子,但是一时没有想到比较好的例子,模仿《Programming in Lua》中的多任务下载的例子也不合适,因为Ruby中的异步HttpClient跟lua还是很不一样的,体现不了Fiber的优点。因此,这第五节一直拖着没写。 恰巧最近在小组中做了一次Erlang的分享,有人问到Erlang调度器的实现问题,这块我没注意过,那时候就根
2012-08-29 10:05:53 1300
转载 Ruby Fiber指南(四)迭代器
原文:http://www.blogjava.net/killme2008/archive/2010/03/12/315257.html上一节介绍了利用Fiber实现类unix管道风格的过滤链,这一节将介绍利用Fiber来实现迭代器,我们可以将循环的迭代器看作生产者-消费者模式的特殊的例子。迭代函数产生值给循环体消费。所以可以使用Fiber来实现迭代器。协程的一个关键特征是它可以不断颠倒调用者
2012-08-29 10:04:54 938
转载 Ruby Fiber指南(三)过滤器
在学习了Fiber的基础知识之后,可以尝试用Fiber去做一些比较有趣的事情。这一节将讲述如何使用Fiber来实现类似unix系统中的管道功能。在unix系统中,可以通过管道将多个命令组合起来做一些强大的功能,最常用的例如查找所有的java进程:ps aux|grep java通过组合ps和grep命令来实现,ps的输出作为grep的输入,如果有更多的命令就形成了一条过滤链。过滤器本质
2012-08-29 10:03:25 1466
转载 Ruby Fiber指南(二)参数传递
这一篇其实也算是Fiber编程的基础篇,只不过参数传递算是一个比较重要的主题,因此独立一节。参数传递发生在两个Fiber之间,作为Fiber之间通讯的一个主要手段。 首先,我们可以通过resume调用给Fiber的block传递参数:1 #resume传递参数给fiber2 f=Fiber.new do |a,b,c|3 p a,b,c4 end5
2012-08-29 10:02:07 1314
转载 Ruby Fiber指南(一)基础
这是一个Ruby Fiber的教程,基本是按照《Programming in lua》中讲述协程章节的顺序来介绍Ruby Fiber的,初步分为5节:基础、参数传递、过滤器、迭代器、应用。这是第一节,介绍下Ruby Fiber的基础知识。 Ruby 1.9引入了Fiber,通常称为纤程,事实上跟传统的coroutine——协程是一个概念,一种非抢占式的多线程模型。所谓非抢占式就是当一
2012-08-29 10:00:39 1571
转载 Nginx配置文件优化中的比较
Nginx配置文件需要我们不断地学习,当然在我们不断的学习中有很多问题出现,那么接下来我们就看看有关Nginx配置文件的相关问题解决。一般来说Nginx配置文件中对优化比较有作用的为以下几项:worker_processes 8; Nginx配置文件进程数,建议按照cpu数目来指定,一般为它的倍数。worker_cpu_affinity 00000001 00000010 000001
2012-08-26 19:22:34 886
转载 两种高性能I/O设计模式(Reactor/Proactor)的比较
综述这篇文章探讨并比较两种用于TCP服务器的高性能设计模式. 除了介绍现有的解决方案, 还提出了一种更具伸缩性,只需要维护一份代码并且跨平台的解决方案(含代码示例), 以及其在不同平台上的微调. 此文还比较了java,c#,c++对各自现有以及提到的解决方案的实现性能.系统I/O 可分为阻塞型, 非阻塞同步型以及非阻塞异步型[1, 2]. 阻塞型I/O意味着控制权只到调用操作结
2012-08-26 13:41:42 2176
原创 CloudFoundry源码分析:Router
Router的实现主要由两部分组成: 一个是lib/router/router.rb,主要作用和nats服务器交互,管理router表。一个是lib/router/router_uls_server.rb,主要是处理各种外部请求。RouterRouter(lib/router/router.rb)主要通过注册事件和nats服务器交互,处理其他模块发布的信息,并统计一些运行信息。rout
2012-08-26 10:16:54 1138 1
翻译 EventMachine简介
简介Eventmachine是什么?Eventmachine能用来做什么?第一个问题很好回答:EventMachine是Reactor模式的一个高性能实现。按照Wikipedia的定义:Reactor模式是一个处理服务请求的并发编程模型。多个服务请求同时发往一个服务句柄(Service Handler)。服务句柄(Service Handler)多路分用到来的请求并把它们同步转发给相关的请求处
2012-08-24 00:31:11 4331
原创 CloudFoundry源码分析:NATS
简介NATS是一个轻量的消息发布-订阅系统。NATS的核心是Event machine。Server名为server.rb的文件有两个。一个是lib/nats/server.rb,这个是server包装类,也就是server的入口类:Server包装类通过EventMachine启动了两个服务。(1) Nats Server,核心消息服务器EventMachine::s
2012-08-17 23:20:41 3873 1
转载 Comparing Two High-Performance I/O Design Patterns
Comparing Two High-Performance I/O Design Patternsby Alexander Libman with Vladimir GilbourdNovember 25, 2005 SummaryThis article investigates and compares different design patterns of hig
2012-08-09 22:57:36 1048
翻译 Ruby EventMachine - The Speed Demon
By Ilya Grigorik on May 27, 2008http://www.igvita.com/2008/05/27/ruby-eventmachine-the-speed-demon/Ruby EventMachine,作为一个框架既有大批拥趸(Evented Mongrel,Analogger, Evented Starling)也饱受非议。一定程度上,人们对框架的
2012-08-08 19:38:52 1486
转载 Git分支管理策略
Git分支管理策略相比同类软件,Git有很多优点。其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便。有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快捷易用。但是,太方便了也会产生副作用。如果你不加注意,很可能会留下一个枝节蔓生、四处开放的版本库,到处都是分支,完全看不出主干发展的
2012-08-06 23:00:50 604
OSWorkflow
2012-05-05
Quartz Job Scheduling Framework
2010-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人