美文网首页
线程 -- 并发和并行

线程 -- 并发和并行

作者: glRu | 来源:发表于2020-07-27 09:23 被阅读0次

1. 并发和并行

为什么操作系统上可以同时运行多个程序?

这是因为无论是单CPU还是多CPU,操作系统都营造出了可以同时运行多个程序的假象。实际的过程操作系统对进程的调度以及CPU的快速上下文切换实现的:每个进程执行一会就先停下来,然后CPU切换到下个被操作系统调度到的进程上使之运行。因为切换的很快,使得用户认为操作系统一直在服务自己的程序。

并发(concurrent)

指的是多个程序可以同时运行的现象,更细化的是多进程可以同时运行或者多指令可以同时运行。

并发的重点在于它是一种现象。并发描述的是多进程同时运行的现象。

并行(Parallel)

当系统有一个以上CPU时,当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行。

并行和并发的区别:

它们虽然都说是"多个进程同时运行",但是它们的"同时"不是一个概念。

并行的"同时"是同一时刻可以多个进程在运行(处于running),并行的多个任务之间是不互相抢占资源的

并发的"同时"是经过上下文快速切换,使得看上去多个进程同时都在运行的现象,是一种OS欺骗用户的现象。

串行模式

串行表示所有任务都一一按先后顺序进行。一次只能取得一个任务,并执行这个任务。

串行意味着必须先装完一车柴才能运送这车柴,只有运送到了,才能卸下这车柴,并且只有完成了这整个三个步骤,才能进行下一个步骤。

相关文章

  • 垃圾收集器

    1 并发和并行的垃圾收集器 并行多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发用户线程与垃圾收集...

  • Java面试题(二):多线程

    五、多线程 35. 并行和并发有什么区别? 并发(concurrency)和并行(parallellism)是: ...

  • JVM垃圾回收算法与收集器

    相关概念 并行与并发 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发...

  • 多线程技术应用一

    [TOC] 线程的基本概念 并行和并发的区别 并发(concurrency)和并行性(parallel)是两个概念...

  • 线程 -- 并发和并行

    1.并发和并行 为什么操作系统上可以同时运行多个程序?这是因为无论是单CPU还是多CPU,操作系统都营造出了可以同...

  • 多线程(二)-线程同步

    一、概念 并行与并发:1个核对1个线程是并行执行,1个核对多个线程是并发执行。 线程安全:并发带来竞争,竞争的结果...

  • Java底层知识总结-0

    并发和并行 说到并发,大家会想到并发和并行这2个概念。 并发:同时拥有两个或者多个线程,如果程序在单核处理器上运行...

  • [OS] 进程管理 内存管理

    并发和并行 高并发: 提高了系统的利用率 并行: 多核计算机同时运行多个进程或线程, 提高了性能 进程和线程 进程...

  • Java核心类库 —— 线程和并发

    java核心类库之-------线程和并发体系图 1.基础操作 1.1 并发与并行 1.2 进程和线程 1...

  • iOS 多线程技术总结

    概览 进程与线程的概念 多线程的由来 并行与并发 多线程的实现 串行与并行 线程的几种状态 串行队列与并发队列区别...

网友评论

      本文标题:线程 -- 并发和并行

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