线程和进程
2015-08-23 14:37
155 查看
对于求职者,在面试的时候大多都会被问到“你对多线程了解么?给我讲讲线程和进程的区别吧。”
在unix中,一个进程可以理解为线程+地址空间+文件描述符+数据,道破现实,其实就相当于老板和员工,老板就是进程,员工就是线程。老板需要雇佣若干员工(线程),还要有办公楼(地址空间),还要有若干的办公设备(文件描述符),还要有项目(数据),不同的员工,在老板提供的这些资源下,可以做不同的/相同的工作。对于员工来说,只需要使用老板提供的这些资源来展开工作,不需要自己提供硬件资源(即使拿着自己的笔记本,也是来娱乐的,与工作无关,哈哈)。在员工离职(线程结束)的时候,公司的一草一木你都是拿不走的,而新来的员工,继续你的位置,进行同样的工作。
这是背景或角色上的分析,再看看所谓的调度效率,从现实角度看,二者的调度效率就不言而喻了。员工跳个槽那是分分钟的是,无非是写个“世界很大,我想去看看”的辞职报告,再发个微博晒晒,不带走一片云彩。而老板要是想“搬迁”,那就麻烦的一塌糊涂了。
在unix中,一个进程可以理解为线程+地址空间+文件描述符+数据,道破现实,其实就相当于老板和员工,老板就是进程,员工就是线程。老板需要雇佣若干员工(线程),还要有办公楼(地址空间),还要有若干的办公设备(文件描述符),还要有项目(数据),不同的员工,在老板提供的这些资源下,可以做不同的/相同的工作。对于员工来说,只需要使用老板提供的这些资源来展开工作,不需要自己提供硬件资源(即使拿着自己的笔记本,也是来娱乐的,与工作无关,哈哈)。在员工离职(线程结束)的时候,公司的一草一木你都是拿不走的,而新来的员工,继续你的位置,进行同样的工作。
这是背景或角色上的分析,再看看所谓的调度效率,从现实角度看,二者的调度效率就不言而喻了。员工跳个槽那是分分钟的是,无非是写个“世界很大,我想去看看”的辞职报告,再发个微博晒晒,不带走一片云彩。而老板要是想“搬迁”,那就麻烦的一塌糊涂了。
相关文章推荐
- greenDAO系列7--关系
- greenDAO系列6--会话
- KM算法
- 数据结构之栈的链表实现
- web.xml整理
- Java实现简单的二叉树
- U盘装win7/win8 32位&64位系统
- 【算法结构】一些经典的算法和数据结构的问题
- 基金投资方法札记
- Spring + JdbcTemplate + JdbcDaoSupport examples
- greenDAO系列5--查询
- Enums in JavaScript
- hibernate关系映射--双向一对一@OneToOne
- Spring Boot——开发新一代Spring应用
- 从零开始学Java之线程详解(1):原理、创建
- Spring Boot——开发新一代Spring应用
- Spring Boot——开发新一代Spring应用
- Spring Boot——开发新一代Spring应用
- greenDAO系列4--构建模型
- 嵌入式相关方向