美文网首页
进程与线程

进程与线程

作者: 執著我們的執著 | 来源:发表于2018-08-14 14:03 被阅读0次

进程与线程

  • 进程是具有一定独立功能的程序,他是系统进行 资源(CPU、内存等)分配 的基本单位;它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。
  • 线程是进程的一个实体,是CPU调度和分派的基本单位,线程自己基本不拥有系统资源

进程和线程的联系和区别

联系:

  1. 一个线程只能属于一个进程,而一个进程可以拥有多个线程
  2. 资源分配给进程,同一进程的所有线程共享该进程的所有资源
  3. 线程是指进程内的一个执行单元,也是进程内的可调度实体

区别:(3个方面)

  1. 调度: 线程作为调度和分配的基本单位;进程作为拥有资源的基本单位
  2. 并发行:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行
  3. 拥有资源:进程是拥有资源的独立单位;线程不拥有资源,但可以隶属于进程的资源,共享进程的资源

在OS中引入进程的目的是为了使多个程序能够并发执行,以提高资源利用率和系统吞吐量
在OS中再引入线程,则是为了减少程序在并发执行时所付出的时间开销,是OS具有更好的并发性
引入线程后,进程是分配资源的基本单位,而线程是系统调度的基本单位!


通信
  • 进程有独自的资源空间,进程间通信比较麻烦,常见的方式有 管道,消息队列,共享内存,信号,Socket(套接字) 等通信机制
  • 线程(同一个进程的线程们)共享该进程的资源,线程间交互通信比较方便,主要的方式有两种:共享对象(全局变量),共享队列(本质是共享内存)

其他参考
参考1
参考2

相关文章

  • 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/jjfmyftx.html