美文网首页
进程与线程

进程与线程

作者: devilisdevil | 来源:发表于2021-04-05 19:48 被阅读0次

区别与联系

  • 线程是最小执行单位
  • 进程是最小资源分配单位,可看成是只有一个线程的进程
  • 一个线程只能属于一个进程,一个进程可以包含多个线程
  • 线程也有pcb,同一个进程的不同线程的pcb中指向相同的三级页表
  • 进程拥有独立的内存单元,多个线程共享进程的内存(资源分配给进程,同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。)
  • 进程间不会相互影响 ;线程一个线程挂掉将导致整个进程挂掉
  • 在进行进程切换时,涉及到整个当前进程CPU环境的保存以及新被调度运行的进程的CPU环境的设置。而线程切换只须保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作
  • 通信
    • 线程通信直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助
    • 进程间通信:管道、系统IPC(包括消息队列、信号量、信号、共享内存等)、以及套接字socket

线程资源

线程共享资源

  • 文件描述符
  • 每种信号的处理方式
  • 当前工作目录
  • 用户ID和组ID
  • 内存地址空间 (.text/.data/.bss/heap/共享库)

线程非共享资源

  • 线程id
  • 处理器现场和栈指针(内核栈)
  • 独立的栈空间(用户空间栈)
  • errno变量
  • 信号屏蔽字
  • 调度优先级

进程资源

???

相关文章

  • iOS_进程与线程(多进程与多线程)

    iOS_进程与线程(多进程与多线程)

  • Java 线程相关

    目录1.并行与并发2.进程与线程---- 2.1 进程---- 2.2 线程---- 2.3 进程与线程的区别--...

  • 并发编程之进程与线程

    并发编程之进程与线程 2.1 线程与进程 2.1.1 进程 2.1.2 线程 2.1.3 二者对比 2.2 并行与...

  • 进程与线程、线程池

    进程与线程的相关总结进程与线程的简单解释进程: 基本的资源分配资源线程: 最小调度单元 线程安全 线程安全是多线程...

  • 详解iOS面试:进程与线程

    进程与线程 进程 = 资源管理 + 线程, 进程是资源分配单位,线程是 CPU 调度单位 以前没有线程的时候,进程...

  • Python多线程与多进程

    内容简述: 线程与进程的相关概念1、程序,进程,线程,多进程,多线程2、线程的生命周期3、并行与并发,同步与异步4...

  • OpenMP笔记

    进程与线程 进程:进程是正在运行的程序实例线程:线程是进程中实际运作单位,一个进程可以并行多个线程 进程包含如下程...

  • java面试3

    1. 进程与线程的区别? 进程和线程的关系: 进程与线程的区别: 2.struts2和springMVC的区别? ...

  • 22.iOS底层学习之多线程原理

    本篇提纲:1、线程与进程2、多线程3、多线程相关面试题4、线程安全问题5、线程与runloop的关系 线程与进程 ...

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

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

网友评论

      本文标题:进程与线程

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