美文网首页并发与多线程
[2019-03-24]进程与线程

[2019-03-24]进程与线程

作者: 刘浩_d94d | 来源:发表于2019-03-24 14:37 被阅读0次

进程与线程

【摘要】 进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。进程拥有独立的内存空间,线程则共享所在进程中的内存空间。进程之间切换开销较大,而线程间切换开销较小。程序是一个静态指令的集合,而进程是一个正在系统中活动的指令集合。

一、进程的定义

维基百科 In computing, a process is the instance of a computer program that is being executed. It contains the program code and its activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently.

在计算中,进程是正在执行的计算机程序的实例。它包含程序代码及其活动。根据操作系统(OS)的不同,进程可以由多个执行线程组成,这些执行线程同时执行指令。

百度文库 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

二、 线程的定义

维基百科 In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.

在计算机科学中,执行线程是可由调度程序独立管理的最小程序指令序列,调度程序通常是操作系统的一部分。

百度文库 线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

三、 线程与进程

进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位

线程和进程的实现在操作系统之间有所不同,但在大多数情况下,线程是进程的一个组件。进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。在操作系统中能同时运行多个进程;而在同一个进程中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)。

进程拥有独立的内存空间,线程则共享所在进程中的内存空间

进程是系统中独立存在的实体,它可以拥有自己独立的资源,系统在运行的时候会为每个进程分配不同的内存空间,所以每一个进程都拥有自己私有的内存空间。在没有经过进程本身允许的情况下,一个用户的进程不可以直接访问其它进程的内存空间。而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),一个进程中的多个线程之间只能共享进程的资源。而不同的进程不共享这些资源。

进程之间切换开销较大,而线程间切换开销较小

每个进程都有独立的数据空间(程序上下文),进程之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。

程序是一个静态指令的集合,而进程是一个正在系统中活动的指令集合

进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合。在进程中加入了时间的概念。进程具有自己的生命周期和各种不同的状态,这写概念在程序中是不具备的。


相关文章

  • [2019-03-24]进程与线程

    进程与线程 【摘要】 进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。进程拥有独立的内存空间,...

  • 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的关系 线程与进程 ...

网友评论

    本文标题:[2019-03-24]进程与线程

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