线程和进程的区别
来源:互联网 发布:三国志13女武将数据 编辑:程序博客网 时间:2024/05/22 15:15
一个程序至少有一个进程,一个进程至少有一个线程.
进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。在多线程OS中,线程是能独立 运行 的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小(在同一 进程 中的)。一个线程可以创建和撤消另一个线程,同一 进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。
区别:进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
例题:
关于线程的优点,描述不正确的是
线程是具有最少开销的程序执行实体
撤销线程比撤销进程花费的时间短
线程间切换比进程间切换花费的时间短
由于共享资源,一个进程中的线程不能并发执行
阅读全文
0 0
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 线程和进程的区别
- 进程和线程的区别
- 线程和进程的区别
- C++ MFC / VS2013 之十九(常用控件:编辑框Edit Control)
- 大数据算法课程笔记2:2D Convex Hull
- Java 并发 ---ReentrantReadWriteLock源码分析
- xamarin学习笔记A11(安卓ContentProvider)
- 13.Oracle杂记——Oracle错误故障诊断监控脚本
- 线程和进程的区别
- 大学生职业规划
- android开发-Activity的启动过程
- caioj 1099 线段树
- java中Date, DateFormat的一些方法总结
- 14.Oracle杂记——Oracle SQL监控脚本
- STS(Spring tool suite) 工具下载
- 抛出异常throw和throws总结
- 大学生职业规划