这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 基础知识每日一题——第五十题

共9条 1/1 1 跳转至

基础知识每日一题——第五十题

高工
2014-08-18 10:59:28     打赏
活动简介:

“每日一题”是EEPW参考西电XDLab社推出的旨向初学者普及基础知识的一项活动,每天在此帖内公布“每日一题”的题目。大家可以根据自己的理解对题目进行回答和相互讨论,我们鼓励大家积极发言。第二天会给出参考答案。每天一帖,所有的题目都将汇集至此,以期方便大家查找。

 

活动宗旨:

活动目的在于通过“每日一题”让大家每天进步一点点,增强大家的基础知识,提高大家对电子制作的兴趣。我们鼓励大家积极发言,如果不懂、是菜鸟,请积极发问;如果懂、是大神,请慷慨解囊。


        今日题目:线程与进程的区别





基础知识每日一题

菜鸟
2014-08-18 11:48:41     打赏
2楼
什么是线程?学FPGA时听过进程process

高工
2014-08-18 13:39:20     打赏
3楼
这个有点高级了。

菜鸟
2014-08-18 13:48:18     打赏
4楼

进程是一个独立的可调度的任务,是一个程序的一次执行的过程,当系统在执行某个程序时,分配和释放各种资源。进程是一个动态概念,是程序执行的过程,包括创建、调度和消亡。进程是程序执行和资源管理的最小单位。进程不仅包括程序的指令和数据,而且还包括程序计数器值、CPU的所有寄存器值以及存储临时数据的进程堆栈。


线程是进程的一个实体CPU调度和分派的基本单位它是比进程更小的能独立运行的基本单位线程自己基本上不拥有系统资源只拥有一点在运行中必不可少的资源(如程序计数器一组寄存器和栈),一个线程可以创建和撤销另一个线程。


进程和线程的区别和联系:

1) 划分尺度:线程更小,所以多线性程序并发性更高;

2) 资源分配:进程是资源分配的基本单位,同一进程内多个线程共享其资源;

3) 地址空间:进程拥有独立的地址空间,同一进程内多个线程共享其资源;

4) 处理器调度:线程是处理器调度的基本单位;

5) 执行:每个线程都有一个程序运行的入口,顺序执行序列和程序的出口,但线程不能单独执行,必须组成进程,一个进程至少有一个主线程。简而言之一个程序至少有一个进程一个进程至少有一个线程


看了一下相关书籍结合百度以及自己的理解,做了一下总结。欢迎各位大牛指点迷津。谢谢。


菜鸟
2014-08-18 15:46:30     打赏
5楼
进程是相互独立的,一个进程不能访问其他进程,线程是在进程里面的

高工
2014-08-19 10:45:19     打赏
6楼

  解答:

  学习电脑和编程语言就会遇到进程和线程,初学者往往会在此陷入迷茫

  和纠结中。其实弄清这两个概念不是很难。从一定意义上讲,进程就是一个

  应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程

  中的一部分,进程包含多个线程在运行。

  1.进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。

  它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不

  只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的

  内容来表示。

  2.进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处

  理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。

  3.通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的

  资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,

  而把线程作 为独立运行和独立调度的基本单位。由于线程比进程更小,基

  本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的

  提高系统内多个程序间并发 执行的程度。

  4.线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,

  而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其

  执行上下文。多线程主要是为了节约 CPU 时间,发挥利用,根据具体情况而

  定。线程的运行中需要使用计算机的内存资源和 CPU。

  5. 线程与进程的区别归纳:

  a.地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。

  某进程内的线程在其它进程不可见。

  b.通信:进程间通信 IPC,线程间可以直接读写进程数据段(如全局变

  量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

  c.调度和切换:线程上下文切换比进程上下文切换要快得多。

  d.在多线程 OS 中,进程不是一个可执行的实体。

  6.进程是具有一定独立功能的程序关于某个数据集合上的一次运行活

  动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实

  体,是 CPU 调 度和分派的基本单位,它是比进程更小的能独立运行的基本单

  位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源

  (如程序计数器,一组寄存 器和栈),但是它可与同属一个进程的其他的线程

  共享进程所拥有的全部资源。



菜鸟
2014-08-19 11:16:34     打赏
7楼

做过linux开发的都知道这么一句话,我认为也是回答该问他的最直接的一句话:

线程是调度的最小单位,进程是资源分配的最小单位


助工
2014-09-06 22:29:33     打赏
8楼
学习了

高工
2020-08-14 15:19:50     打赏
9楼

学习学习


共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]