首页 > 其他 > 详细

进程和线程的区别

时间:2014-03-03 13:23:26      阅读:557      评论:0      收藏:0      [点我收藏+]

此问题也是面试中的一大俗题,可以发散引申出很多。下面记录几点关键点。

 

1.进程是操作系统资源分配的最小单位,线程是CPU调度的最小单位。

2.线程是依附于进程,比进程的创建销毁切换都更省资源,所以多线程的程序有更好的并发。

这里有可能被追着问到线程和进程都包括哪些信息

2.1 进程的PCB(进程控制块)

包括进程ID,内存指针,寄存器,状态,优先级,程序计数器,IO状态信息。

  这里可能会被问到具体的进程状态,一共五种。新建,就绪,执行,阻塞,退出。

1.进程的三种基本状态:就绪状态,执行状态,阻塞状态。

2.进程三种状态间的转换

 (1) 就绪→执行 当前运行进程阻塞,调度程序选一个优先权最高的进程占有处理机;

 (2) 执行→就绪 当前运行进程时间片用完;

 (3) 执行→阻塞 当前运行进程等待键盘输入,进入了睡眠状态。

 (4) 阻塞→就绪 I/O操作完成,被中断处理程序唤醒。

2.2 线程信息包括堆栈,局部变量,程序计数器

3.进程间的crash不会相互影响,但是一个线程的crash会使整个进程都crash,其他线程也跟着都挂了。

4.线程间的通信是通过进程中共享的全局变量,不需要通过系统调用就可以通信,更加高效。

4.1 这里八成会被引申出进程间通信的方式

管道消息队列共享内存信号量,套接字 如果再往下具体,就看具体链接吧。不过再往后面就太发散了。

进程和线程的区别,布布扣,bubuko.com

进程和线程的区别

原文:http://www.cnblogs.com/23lalala/p/3576752.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!