阅读更多

13顶
0踩

编程语言

原创新闻 Rails 2.2要改成线程安全的了!

2008-08-18 11:23 by 见习编辑 robbin 评论(6) 有8222人浏览
Ruby on Rails官方博客发布的信息,Josh Peek加入了Rails的核心开发团队。Josh Peek正在开发的一个项目是让Rails框架变成线程安全的版本,该项目参加了今年的Google Summer Of Code大赛。

DHH宣布将在Rails 2.2版本当中合并Josh Peek的关于Rails线程安全的项目工作成果,这意味者Rails下一个版本,即2.2版本将支持多线程方式运行Rails。

我们知道,截止Rails 2.1版本,Rails仍然是以单进程内单线程方式运行,如果Rails改为单进程内多线程方式运行,会带来什么好处呢?

1、节省物理内存
由于多个线程在一个进程内可以共享内存空间地址,可以节省大量物理内存空间地址。

2、可以并发响应更多请求
一个进程内多个线程的调度可以由Mongrel等支持多线程的Ruby应用服务器管理,因此可以根据请求负载,创建更多线程响应请求,提高并发处理能力

但是以多线程方式运行Rails,并非革命性的进步,多线程也会带来很多问题:

1、ruby进程的GC过程会阻塞进程内所有线程的运行,GC比多进程方式带来更大的影响

2、多线程可以共享进程内资源,可能会导致程序员滥用多线程造成多个线程资源争用问题

3、多线程内任何一个线程的问题都可能影响整个进程的稳定运行。


但是多线程的Rails对于JRuby无疑是一个天大的好消息!由于JVM本身就是支持内核多线程的,因此多线程的Rails运行在JRuby上面是一个天然的绝配,不但可以大幅度减少JRuby的内存消耗,而且可以切实有效提供JRuby的并发处理性能。

总之,Rails 2.2支持多线程将为我们打开Rails的另外一扇门。
13
0
评论 共 6 条 请登录后发表评论
6 楼 无明 2008-08-19 09:50
有个疑问,CRuby的GC本来就不是很成熟,跟JVM比差了好多,以多线程的方式跑Rails,会不会导致性能颠簸的比较厉害?性能差一点对数据库应用来说问题并不算太大,但要是稳定性差了,那就不划算了
5 楼 inosin 2008-08-19 09:50
什么时候发布?
4 楼 hozaka 2008-08-18 18:24
终于等到这一天了!!
3 楼 fkpwolf 2008-08-18 14:02
最后变成跟java一样庞大臃肿
2 楼 fxsjy 2008-08-18 13:08
没必要,多进程不是好好的吗?
1 楼 QuakeWang 2008-08-18 11:39
国外的讨论,Rails的线程安全意味着什么:
http://blog.headius.com/2008/08/qa-what-thread-safe-rails-means.html

这对于rails来说是一个巨大的改动,期待2.2的发布。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • C++ Win32界面编程中的窗口风格要点总结(附源码)

    最近我们遇到了几个与窗口风格相关的问题,因为未设置指定的窗口风格或者错误设置了某些窗口风格导致了窗口出现了一些bug。本文借此机会将窗口风格的相关要点进行详细的总结,在此分享出来,给大家提供一些借鉴和参考。

  • c++11封装win32界面库

    c++11封装win32界面库

  • Win32汇编系列七、窗口程序原理及实现

    前言 学c语言的人天天面对黑框框,有木有?不知道是否想用c写一个窗口程序?我想应该也很希望吧,目前我见过的书中很少有介绍窗口程序设计,如果想写的话,还需要去网上、b站搜索,使用c写窗口程序其实挺麻烦的,需要了解Windows消息机制、GDI或者GDI+、还有各种控件,如Button,另外自带的控件都太难看,需要使用GDI或GDI+自己绘制,这样工作量又大了很多,所以现在很少有rj这种最"底层"的方式实现了就需要我不曾在c中大量写过, ...

  • 汇编实验:屏幕窗口程序(代码有较为详细的注释)

    实验3.4 屏幕窗口程序 1.题目:屏幕窗口程序 2.实验要求: 在屏幕上开出三个窗口,它们的行列坐标按照教材要求。光标首先定位在右窗口最下面一行的行首(15,50),如从键盘输入字符,则显示在右窗口,同时也显示在下窗口的最下面一行。若需要将字符显示于左窗口,则先按下键,接着再从键盘输入字符,字符就会从左窗口的最下行开始显示,同时下窗口也显示出左窗口的内容。如若再按下键,输入字符就会接在先前...

  • 汇编如何建立窗口程序

    用Windows32下面的汇编开发工具+window32的API函数来做window窗口程序之后,自然会提高我们的汇编语言功底和window低层的工作原理及一些API函数的特性windows做程序开发,如果是窗口程序我们只要关注于两个方面:1控制windows消息2制作windows界面(也就是资源文件中的一切对象)window 32汇编开发资源清单下载网站:开发工具选用masm32下载网站htt

  • WIN32 SDK界面编程

    WIN32 SDK界面编程   在介绍win32 sdk界面编程,先需要了解win32 编程。熟悉win32编程之后,就可以轻松进行win32 界面编程。 一、什么是win32 编程 Win32编程,指的是用Window提供的API(Application Programming Interface)为Window编写应用程序。 之所以称之为Win32,是因为现在的Window都是32位的

  • VC++ WIN32编程-基本窗口

    #include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow){    TCHAR szAppName[...

  • [源码和文档分享]基于WIN32 API界面编程实现的Flappy Bird小游戏

    一、简介 Flappy bird是一款卷轴类的躲避游戏。设计中可用空格操控游戏的开始和暂停,通过控制向上的方向使小鸟不断向上飞,但是不能落到地面和上边界也不能撞到障碍物,否则游戏结束弹出“Game Over!”的窗口。游戏可以通过坚持的时间控制障碍物移动的速度,从而加大游戏难度。 参考文档和完整的文档和源码下载地址: ...

  • 跟我一起玩Win32开发(2):完整的开发流程

    上一篇中我给各位说了一般人认为C++中较为难的东西——指针。其实对于C++,难点当然不局限在指针这玩意儿上,还有一些有趣的概念,如模板类、虚基类、纯虚函数等,这些都是概念性的东西,几乎每一本C++书上都会介绍,而平时我们除了会接触到纯虚函数外,其他的不多用。纯虚函数,你可以认为与C#中的抽象方法或接口中的方法类似,即只定义,不实现。好处就是多态,发何处理,由派生类来决定。 在开始吹牛之前,我先推

  • win32开发(创建子窗口)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】    在win32中,有的时候需要创建额外的子窗口。所谓子窗口的概念,就是窗口本身不会超出母窗口的边界,所有的操作都是在母窗口里面完成的。子窗口可以用os提供的默认类型来完成,也可以自定义类型来完成。常用的子窗口有BUTTON、COMBOBOX、EDIT、LISTBOX、STATIC、SCROL

  • Win32 API 窗口编程模板

    #include //窗口函数声明 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM );    //入口函数 WinMain() int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,                      

  • 用32位汇编语言写一个窗口程序

    用WIN32来写窗口程序需要编写两个文件,一个是资源脚本文件:*.rc,一个是汇编源文件:*.asm。将这两个文件编译链接在一起就可以得到我们的窗口程序。而资源脚本文件中包含了对菜单,加速键,图标,光标,位图等资源的定义,源文件中包含如何使用这些资源的代码。 首先我们来看资源脚本文件中菜单和加速键以及图标光标的定义。 #include <resource.h> #define...

  • win32汇编创建窗口

    .386 .model flat,stdcall option casemap:none ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&...

  • 汇编语言课程设计-屏幕窗口程序

    强调,请使用masm6.15编译器 用masm5会失败 在屏幕上开出三个窗口:起止坐标为(5,10)和(15,30),(5,50)和(15,70),(18,15)和(22,65)。要求可用左右方向键选择左窗口或右窗口为当前活动窗口。当一行字符显示满后(左右窗口一行显示20个字符,下窗口显示50个字符),窗口自动向上卷动一行,输入的字符仍显示与最低一行,窗口最高一行向上卷动后消失。输入‘ESC’后结束程序。 输入del后清屏。

  • 使用WIN32汇编语言实现一个基本windows窗口的过程分析

    一个常规的windows窗口一般都是一些一样的构造,你如果想要更改一些个性化的设置,你可以在这个一般的模板伤添砖加瓦,构造自己比较喜欢的类型,下边就分析一下一般的windows窗口的一般模板。 一. 首先看一下一般的windows窗口都包含什么框架(NO picture you say a J8.....上图上图)如下(罗云斌win32汇编书中92页的一张图): 该图简单的

  • 单张、批量识别图片中文字(写入txt文件、窗口视图创建、打包.exe文件)(百度文字识别SDK+Python的GUI之tklinker+打包pyinstaller)

    昨天我姐问我有没有软件可以批量识别图片上的文字,她在帮客户做资料整理,但是用的方法只能一张一张上传识别,不仅效率低还浪费时间。 ​我就找了找批量识别的软件,下载下来觉得:嗯?不错,界面也挺好,小东西做的还挺别致。但是,识别三张就停止了,提示非最新版本要联系客服升级之类的,妥妥的套路,果断删除。又找了一个,嗯?界面更加好看一点儿,人家就很直接,三张之后提示购买会员,还显示了几种VIP的费用,很“人性”嘛。 ​但是,在这个万物开源的互联网时代,让程序员掏腰包买软件是不可能滴,反正我是不会,啊哈哈。我首想到了反编译,把三张的限制取消,之前看过一些ios逆向工程的东西,这些应该都是通的。搜索了一番

  • 一个汇编写的窗口,供大家借鉴

    用汇编写的一个windows窗口,供大家借鉴学习!!

  • 汇编语言:简单图形界面的绘制教程

    最近自己在学习汇编语言,看到了汇编语言绘制的图形界面,感觉很强大;自己以后的工作也要写一些小工具,于是,自己在看了网上很多的资料和别人分享的心得,也学习着自己绘制了一个图形界面。这里我要特别的鸣谢eva.li!         我的这个图形界面包括3个部分,分别是:欢迎界面、主界面以及结束界面。截图如下: 1,欢迎界面 2,主界面 3,结束界面         主

  • WIN32滚动条创建和使用详解

    一直对WIN32编程感兴趣,刚开始是从MFC摸索的,总感觉不带劲,新近网上看了一些博客,自己也看了Window程序设计,终于用原版的WIN32写了窗口并处理了滚动条,在这里给大家分享一下。                  图片是最终的窗口效果,下面用一张图来讲解滚动条的作用和区域设置。                  黄线矩形为窗口区域,红线区域为图片大小,只有当图片的宽或者高大于客户

Global site tag (gtag.js) - Google Analytics