介绍一下Ruby的多线程处理


Posted in 面试题 onFebruary 01, 2013
Ruby的多线程是用户级多线程,这样使得Ruby的多线程移植非常容易,你并不需关心具体的操作系统;这样做也使线程容易控制,程序不容易产生死锁这类严重的线程问题。
但是同时,由于Ruby的多线程并不是真正意义上的操作系统级多线程,不管代码使用了多少个Thread类的实例,都只会在启动解释器这一个进程内执行,由Ruby解释器进行具体的线程切换管理,其效率要低于由操作系统管理线程的效率,且不能使用多个CPU。
在Ruby中同时做多件事最简单的方式就是使用Thread类,Thread类提供了一种高效和轻量级的手段来同时处理多件任务。
Thread类由Ruby解释器具体实现,提供了一种同时处理多个任务的方法, Thread类实现的并不是操作系统级多线程。
Ruby多线程的优点和缺点同样明显,缺点是效率不如操作系统级多线程,不能使用多个CPU,但其优点也很明显,即可移植性很高。这就需要设计人员综合考虑。

Tags in this post...

面试题 相关文章推荐
Tomcat中怎么使用log4j输出所有的log
Jul 07 面试题
WebSphere 应用服务器都支持哪些认证
Dec 26 面试题
介绍一下Java中的Class类
Apr 10 面试题
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
Sep 16 面试题
编写strcpy函数
Jun 24 面试题
视图的作用
Dec 19 面试题
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
Nov 10 面试题
C#里面如何判断一个Object是否是某种类型(如Boolean)?
Feb 10 面试题
Linux Interview Questions For software testers
May 17 面试题
linux比较文件内容的命令是什么
Mar 04 面试题
如何整合JQuery和Prototype
Jan 31 面试题
Servlet面试题库
Jul 18 面试题
Ruby如何创建一个线程
Mar 10 #面试题
Ruby如何进行文件操作
Jul 17 #面试题
Ruby如何实现动态方法调用
Nov 18 #面试题
介绍一下Ruby的特点
Jan 20 #面试题
JPA的优势都有哪些
Jul 04 #面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
You might like
php的字符串用法小结
2010/06/08 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
PHP实现图片裁剪、添加水印效果代码
2014/10/01 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
js date 格式化
2017/02/15 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
vue实现计步器功能
2019/11/01 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
Django中URLconf和include()的协同工作方法
2015/07/20 Python
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
Python实现的科学计算器功能示例
2017/08/04 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
阅兵口号
2014/06/19 职场文书
爱心捐助活动总结
2015/05/09 职场文书
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python