美文网首页
进程跟线程有什么区别,它们存在什么联系

进程跟线程有什么区别,它们存在什么联系

作者: Kloar | 来源:发表于2016-01-19 13:15 被阅读88次

a、进程:

是活动的程序,是一个容器

是系统资源管理的最小单位

切换代价较高

b、线程:

-是在进程容器中运行,实际工作的代码

是程序执行的最小单位

切换代价低

c、单线程:

一个进程内只有一个线程

一个进程的数据通常加载在同一内存中!

d、多线程:

一个进程内有多个线程

多个线程通常共享同一内存中的数据!

线程与进程切换的区别:

线程完全共享相同的地址空间,切换代价低

进程的地址空间是独立的,切换代价高

e、进程与线程之间的区别:

简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

线程的划分尺度小于进程,使得多线程程序的并发性高。

另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

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

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

f、线程的好处

(1)易于调度。

(2)提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。

(3)开销少。创建线程比创建进程要快,所需开销很少。。

(4)利于充分发挥多处理器的功能。通过创建多线程进程(即一个进程可具有两个或更多个线程),每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行。

相关文章

  • 进程跟线程有什么区别,它们存在什么联系

    a、进程: 是活动的程序,是一个容器 是系统资源管理的最小单位 切换代价较高 b、线程: -是在进程容器中运行,实...

  • 全面的多线程面试题含答案(37道面试题)

    多线程面试题: 1.什么是线程,什么是进程,它们有什么区别和联系,一个进程里面是否必须有个线程 (先讲进程) 答案...

  • 多线程面试题总结

    1、什么是线程,什么是进程,它们有什么区别和联系,一个进程里面是否必须有个线程 进程本质是一个正在执行的程...

  • 进程和线程的关系

    线程是什么?进程是什么?二者有什么区别和联系? 答案:一个程序至少有一个进程,一个进程⾄少有一个线程: 进程:⼀个...

  • Java 线程与同步

    [TOC] 开篇 首先需要知道什么是线程?什么是进程?它们2个有什么区别? 进程是资源的分配的一个独立单元,而线程...

  • ios

    多线程 线程是什么?进程是什么?二者有什么区别和联系? (UI 第二 十二讲 多线程编程) 线程是CPU独立运行和...

  • Java面试集锦:25道线程类相关面试题与答案(一)

    1. 线程是什么?进程是什么?二者有什么区别和联系? (1)线程是CPU独立运行和独立调度的基本单位;(2)进程是...

  • 多线程相关面试题及其解答

    Q:什么是线程?什么是进程?线程和进程有什么区别?A:线程:又称"轻量级进程",是操作系统能够进行运算调度的最小单...

  • 2020-01-27 学习笔记——JS运行机制

    线程和进程有什么区别 进程是CPU资源分配的最小单位,线程是CPU调度的最小单位一个进程可以有多个线程进程之间相互...

  • OS 面试题

    Operating System 进程和线程有什么区别Both processes and threads are...

网友评论

      本文标题:进程跟线程有什么区别,它们存在什么联系

      本文链接:https://www.haomeiwen.com/subject/yogkkttx.html