进程和线程

1.定义

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能够独立运行的基本单位。线程自己不拥有系统资源,与和它同在一个进程中的其他线程共享进程所拥有的系统资源。

2.关系理解(自己的理解)

①线程比进程小,线程是进程中的一部分

②进程去申请系统资源,然后线程去帮着进程执行进程所要执行的任务,但是进程很抠门,不给线程太多的资源,就只分给他能够完成自己任务的那几个寄存器和栈。

③一个进程中有无数个线程,他们之间可以并发执行,完成各自的任务。

3.两个概念

进程,是并发执行的程序在执行过程中分配和管理资源的基本单位;

线程,是CPU调度的基本单位

4.为什么有了进程还会出现线程(线程的优点)

对于经常进行任务调度和任务切换的非实时操作系统来说(换句话说,对于实时操作系统,线程是没有优势的),线程能减少处理机的切换时间,提高系统处理速率;同时线程创建和结束所需要的系统资源也比进程少的多;最后,最适用使用线程的系统通常是多处理机系统或者分布式系统。

4.联想嵌入式系统书上面的知识

①每一个进程都有一个进程控制块PCB,存储进程的相关信息;同样每一个线程也有一个相应的控制块,但是存储的信息就要比进程少。

②进程间通信的几种方法:

管道,共享内存,消息队列,信号量

参考博文:http://www.cnblogs.com/way_testlife/archive/2011/04/16/2018312.html  way_testlife

http://blog.csdn.net/yaosiming2011/article/details/44280797         yaosiming2011

大多数想法要么平庸,要么更糟糕,这很大程度上因为绝妙的想法难得一见,而且他们还要在我们身边这个充斥了各种恶俗的所谓常识的环境中孕育生长。
原文地址:https://www.cnblogs.com/linux0537/p/5801860.html