介绍一下Ruby的多线程处理


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

Tags in this post...

面试题 相关文章推荐
简单介绍Object类的功能、常用方法
Oct 02 面试题
联强国际笔试题面试题
Jul 10 面试题
阿里巴巴Oracle DBA笔试题答案-备份恢复类
Nov 20 面试题
DataList 能否分页,请问如何实现?
May 03 面试题
.NET面试问题集
Dec 08 面试题
Linux如何为某个操作添加别名
Mar 01 面试题
介绍一下grep命令的使用
Jun 12 面试题
一套比较完整的软件测试人员面试题
May 13 面试题
启动一个线程是用run()还是start()
Dec 25 面试题
Java中会存在内存泄漏吗,请简单描述
Dec 22 面试题
内部类的定义、种类以及优点
Oct 16 面试题
Java中的基本数据类型所占存储空间大小固定的吗
Feb 15 面试题
Ruby如何创建一个线程
Mar 10 #面试题
Ruby如何进行文件操作
Jul 17 #面试题
Ruby如何实现动态方法调用
Nov 18 #面试题
介绍一下Ruby的特点
Jan 20 #面试题
JPA的优势都有哪些
Jul 04 #面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
You might like
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
node.js实现博客小爬虫的实例代码
2016/10/08 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
Python 3 判断2个字典相同
2019/08/06 Python
什么是python的列表推导式
2020/05/26 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
.NET面试问题集
2015/12/08 面试题
如何开发安全的AJAX应用
2014/03/26 面试题
现金会计岗位职责
2013/12/05 职场文书
房地产推广策划方案
2014/05/19 职场文书
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python