进程的作用和定义:进程是为了提高CPU的执行效率,减少因为程序等待带来的CPU空转以及其他计算机软硬件资源的浪费而提出来的。进程是为了完成用户任务所需要的程序的一次执行过程和为其分配资源的一个基本单位,是一个具有独立功能的程序段对某个数据集的一次执行活动。
线程的引入:例如,有一个Web服务器要进程的方式并发地处理来自不同用户的网页访问请求的话,可以创建父进程和多个子进程的方式来进行处理,但是创建一个进程要花费较大的系统开销和占用较多的资源。除外,这些不同的用户子进程在执行的时候涉及到进程上下文切换,上下文切换是一个复杂的过程。所以,为了减少进程切换和创建的开销,提高执行效率和节省资源,人们在操作系统中引入了"线程(thread)"的概念。
线程是进程的一部分(有时候被称为是轻权进程或者轻量级进程),进程是程序的一部分。
线程是指进程内的一个执行单元,也是进程内的可调度实体.
线程和进程的区别:
(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程拥有一个自己独立完整的虚拟空间地址,并不依赖线程而独立存在;
(2)资源拥有:进程是资源分配和拥有的单位,是系统所有资源分配时候的一个基本单位,同一个进程内的线程共享进程的资源,
注:系统在运行的时候会为每个进程分配不同的内存区域,但是不会为线程分配内存(线程所使用的资源是它所属的进程的资源),线程组只能共享资源。那就是说,出了CPU之外(线程在运行的时候要占用CPU资源),计算机内部的软硬件资源的分配与线程无关,线程只能共享它所属进程的资源。
(3)处理调度:线程是处理器调度的基本单位,但进程不是.
(4)包含关系:一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程)的,而是多条线(线程)共同完成的。二者均可并发执行.
(5)控制表:与进程的控制表PCB相似,线程也有自己的控制表TCB,但是TCB中所保存的线程状态比PCB表中少多了。
分享到:
相关推荐
线程和进程的区别.txt线程和进程的区别.txt线程和进程的区别.txt线程和进程的区别.txt
JAVA线程与进程的区别JAVA线程与进程的区别
线程进程的区别于联系,详细介绍.希望对大家有用。如果有不足的地方,麻烦留言。
loadrunner线程和进程的区别[参考].pdf
用过UNIX操作系统的读者知道进程,在UNIX操作系统中,每个应用程序的执行都在操作系统内核中登记一个进程标志,操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配,但进程和线程有什么区别呢?...
网络多线程的用法第一节,线程和进程的区别, 以及多线程的优缺点。
详细讲解进程和线程之间的区别,方便初学者能更深透的理解
Linux把所有线程都当做进程来实现。内核并没有准备特别的调度算法或者定义特别的数据结构来表示线程。下面一起来看看
Qt线程之间通信、线程和进程之间通信实例,简单易懂
易语言多线程监控进程源码,多线程监控进程,获取监视进程状态,进入监视,监视进程进入,监视进程退出,监视进程,关闭线程,发邮件A
看过的最清楚的进程线程,进程和线程对比 根本不用大头书就可以理解透彻。
通过观察、分析实验现象,深入理解线程及线程在调度执行和内存空间等方面的特点,并掌握线程与进程的区别。
该文档为进程与线程的生动详细地理解,个人认为讲的非常好。形象生动。
进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。
java多线程与进程调度,针对多线程和进程的讲解
多线程模拟进程调度多线程模拟进程调度多线程模拟进程调度多线程模拟进程调度
本文主要讲了一下关于线程,进程,程序的区别,希望对你的学习有所帮助。
进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程...
1号进程创建2,3号两个进程 2号进程创建两个线程Thread1,Thread2 Thread1:求(1~n)之间的素数 Thread2:生成Fibonacci序列 ...每个进程输出自己的进程ID和父进程的进程ID,观察分析,并画出程序的进程树结构。
73道Java面试题合集-多线程与进程