美文网首页@产品程序员
线程、进程的基本知识

线程、进程的基本知识

作者: 程宇渊 | 来源:发表于2019-03-10 01:05 被阅读25次

1.为什么要引入多进程和多线程?

        计算机的作用在于辅助人们解决问题或者说完成某些特定的工作,假设计算机一次只能处里一个工作。如打开qq的时候不能处理其他的任何事情,不能听音乐,不能看视频,不能编辑文档,这显然是不能满足人们的日常需求的。故而,引入多进程以解决同时运行多个程序的需求。

        同样的原因,如果一个进程只能按顺序处理一系列的任务,我们在使用qq给其中一个好友发送信息的时候,将无法同时接收到来自于其他好友的信息,因此引入多线程技术。

可以这样理解:单线程如同只雇佣一个服务员的餐厅,他必须完成一件事情之后才可以做下一件事;多线程的程序如同雇佣多个服务员的餐厅,他们可以同时做很多事情而且几乎互不干扰

2.进程和线程的概念:

    进程简单来说就是运行中的程序,如chrome浏览器程序,当它未加载进内存进行运行的时候就是一个静态的程序;当它加载进内存运行时就是动态的一个进程。进程是一个动态的概念,它有自己的生命周期和各种不同的状态;进程是系统进行资源分配的和调度的一个基本单位。

    多线程则拓展了多进程的概念,使得同一个进程可以同时并发(或并行)处理多个任务。线程因此也被称为轻量级的进程。每一个程序开始运行的时候至少都会创建一个主线程,线程之间也是互不干扰的,但与进程和进程之间的关系不同,同一个进程的线程之间共用父进程的资源,即线程不单独占有这些资源。

3.图示并发(Concurrency)和并行(Parallel):

其实从英语字面上来理解并发和并行是比较容易的;

多个线程并发执行

其中较粗的箭头表示的是两个独立的线程,细的箭头表示cpu执行跳转(实际上可能没有这么规律),故并发并非真正的同时执行,只是因为cpu跳转时间间隔非常短使得看上去两个线程(或进程)像在同时运行着。

多个线程并行执行

图中假设有一个四核的cpu,每个cpu上都单独运行着一个线程,它们是真正的同时运行着。

4.图示进程和线程:

系统中的线程和进程(理想模型)

图中展示了一个运行着6个进程的操作系统的理想模型,我们将绿色作为系统资源的分块,可以看到每个进程都有自己独立的资源分块;而线程(途中带箭头的直线)之间只能公用父进程所提供的资源,它们都是按依次按序往下执行的且互不干扰;

以上为本人学习总结,本人学识尚浅,如有错误望指正。

相关文章

  • ios 多线程的故事1

    谈到多线程就到说到线程和进程,就要说到NSThread、GCD、NSOperation! 基本知识 1. 进程(p...

  • iOS多线程学习笔记

    多线程的基本知识 先补一发基础知识 什么是线程 线程,有时被称为轻量级进程(Lightweight Process...

  • 进程,线程基本知识

    今天在看阮一峰关于 JS单线程介绍的时候,发生疑惑:什么是单线程。同时经常听见进程。也就产生疑问:什么是进程?两者...

  • 线程、进程的基本知识

    1.为什么要引入多进程和多线程? 计算机的作用在于辅助人们解决问题或者说完成某些特定的工作,假设计算机一次只能处里...

  • 多线程详解(1)——线程基本概念

    0. 简介 这个系列开始来讲解 Java 多线程的知识,这节就先讲解多线程的基本知识。 1. 进程与线程 1.1 ...

  • Linux进程管理 day21

    1.进程的基本知识2.进程的生命周期3.进程的状态指标 一、进程的基本知识 1.什么是进程 进程(Process)...

  • iOS多线程编程

    iOS多线程编程 基本知识 1. 进程(process) 进程是指在系统中正在运行的一个应用程序,就是一段程序的执...

  • 线程和进程概念

    线程和进程 进程 线程 线程和进程的区别

  • 1 多线程基础和Sync

    目录 进程、线程概念 创建线程的方法 线程常用方法 线程同步:Sync 1 进程线程概念 1.1 进程 进程指的是...

  • linux编程

    进程### 进程基本知识:进程结构、进程调度、进程状态http://www.jellythink.com/arch...

网友评论

    本文标题:线程、进程的基本知识

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