美文网首页操作系统
操作系统-进程与线程

操作系统-进程与线程

作者: 我永远爱02 | 来源:发表于2019-03-14 18:54 被阅读0次

两者的区别:

  1. 从基本单位的角度来看:进程是资源分配的基本单位,线程是调度和分派的基本单位。
  2. 从切换代价的角度来看:进程切换要进行上下文切换,线程切换只需保存和设置少量寄存器的内容,切换代价远低于进程。
  3. 从独立性角度来看:进程的独立性远高于线程,因为除共享的全局变量外,每个进程都拥有一个独立的地址空间和其他资源,不允许其他进程访问。但同一个进程中的不同线程为了提高并发性以及相互间的合作,他们共享进程的内存地址空间和资源。如每个线程都可以访问他们所属进程地址空间的所有地址,如一个线程的堆栈可以被其他线程读写,甚至完全清除。由一个线程打开的文件可以供其他线程读、写。

两者的联系

  1. 并发性:进程之间可以并发执行,而且在一个进程中的多个线程之间也能并发执行,甚至还允许在一个进程中的所有线程都能并发执行。同样,不通进程中的线程也能并发执行。
  2. 拥有资源:属于同一个进程的所有线程都具有相同的地址空间,这意味着,线程可以访问该地址空间中的每一个虚地址;此外,多个线程可以访问其进程所拥有的资源。

为什么进程的切换代价要远大于线程?

参考https://blog.csdn.net/c_121/article/details/80512999
https://blog.csdn.net/water1360/article/details/44940239


进程内存区域划分,以及线程独占和共享的区域

参考https://blog.csdn.net/qq_40780910/article/details/82253276
https://www.cnblogs.com/Lxk0825/p/9559070.html


操作系统中线程的实现方式

参考https://blog.csdn.net/qq_40235024/article/details/77975390

相关文章

  • Python - 进程、线程与协程

    Python - 高级教程 - 进程、线程与协程 进程与线程 在操作系统中,每一个独立运行的程序,都占有 操作系统...

  • GO学习笔记(18) - 并发编程(1) - 理解gorouti

    目录 进程、线程与协程 并发模模型介绍 GO并发编程介绍 进程、线程与协程 进程和线程 进程是程序在操作系统中的一...

  • 线程,安全,通信

    进程与线程 在操作系统中,正在运行的程序称为进程,进程负责程序内存空间的分配。 进程包含线程,每条线程都是进程中代...

  • Java多线程(1)--创建多线程

    多线程 线程与进程: 进程:进程是处于运行中的程序,是操作系统进行资源分配和调度的一个单位 线程:线程是进程的执行...

  • iOS多线程整理

    一.进程与线程 进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个程序至少要有进程,一个进程至少...

  • 面试题_ios(四)

    1.进程和线程的区别和联系 Progress和Thread,进程和线程是操作系统里的基本概念线程与进程的区别:线程...

  • 操作系统---线程

    操作系统---线程 进程与线程 进程 进程是操作系统提供的最古老的也是最重要的抽象概念之一,即使可以使用的CPU只...

  • 并发编程的理论基石

    一、进程和线程 1.操作系统、进程、线程的关系 操作系统是包含多个进程的容器,而每个进程又是容纳多个线程的容器。 ...

  • 进程与线程

    进程与线程的比较 调度。在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。在引入线程的操作系统中,线程是独...

  • Java 多线程基础

    线程概念 与进程的关系进程是操作系统分配内存及其他系统资源的基本单元,线程之间相互独立。线程是操作系统分配CPU的...

网友评论

    本文标题:操作系统-进程与线程

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