美文网首页
进程与线程

进程与线程

作者: One_Hund | 来源:发表于2018-10-15 14:31 被阅读0次
进程和线程的区别?

1.调度:进程是资源调度单位,线程是CPU调度单位。

2.资源分配:进程间拥有独立的系统内存单元;同一进程内的线程间共享进程内存空间,且线程不拥有系统资源,只各自拥有运行时必要的寄存器与栈(空间很小)。

3.健壮性:进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径,线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮。

4.系统开销:线程能减少并发执行时的时间和空间开销。由于在创建或撤消进程时,系统都要为之分配或回收资源,因此,操作系统所付出的开销将显著地大于在创建或撤消线程时的开销。 进程切换的开销也远大于线程切换的开销。且由于同一进程的各线程间共享内存与文件资源,可以不通过内核直接进行通信。

5.并发性:在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行,因而使操作系统具有更好的并发性,从而能更有效地使用系统资源和提高系统吞吐量。

其他知识点

1.进程并发采用 “时间片轮转进程调度算法”。
2.线程与进程一样,也具有三种状态,运行态、就绪态、阻塞态,并且转化关系也一样。
3.对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
4.进程间通信主要包括管道、系统IPC(包括消息队列、信号量、共享存储)、SOCKET。
5.进程/线程间同步机制:临界区、互斥区、事件、信号量四种方式。
6.进程/线程同步机制与进程间通信机制比较:很明显2者有类似,但是差别很大。
同步主要是临界区、互斥、信号量、事件;
进程间通信是管道、内存共享、消息队列、信号量、socket;
共通之处是:信号量和消息(事件)。

参考文章:

进程与线程的一个简单解释

腾讯面试题04.进程和线程的区别?

操作系统——进程、线程、调度

进程和线程有什么区别?

进程/线程同步的方式和机制,进程间通信

多线程还是多进程的选择及区别

相关文章

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