首页 > 系统相关 >线程和进程,并发和并行的区别

线程和进程,并发和并行的区别

时间:2022-11-06 18:13:52浏览次数:42  
标签:task 操作系统 并行 并发 任务 线程 进程

线程和进程

  • 计算机教材上的经典定义如下:
    线程是操作系统调度的基本单位;进程是操作系统资源分配的基本单位。

线程和进程属于一个抽象的概念,具体实现还得看具体的操作系统。Linux 内核的实现上来说,线程和进程没有本质区别,都是struct_task 结构体。
从命名上来看,这个task 可以说是很贴切不过了, linux认为一个个的线程不就是用户交给计算机的一个个任务吗?

操作系统的核心工作就是利用有限的硬件资源去高效完成用户交给的一个个任务,所以产生了一系列的调度策略,调度的对象在kernel中的就是 这个struct_task;
而做任务必然涉及到硬件资源的协助:比如RAM,如何管理内存也是所有操作系统必须解决的问题之一。简单来说,操作系统使用虚拟内存来平等对待每个用户空间进程,每个进程独立拥有的虚拟地址空间,位于同一个进程的线程共享同一内存空间。
另外说一下,进程在kernel的实现其实就是线程组owner。

并发和并行

并发:是指同一时间段,有多个任务同时运行,比如你在单核计算机上同时打开QQ 和word, QQ 和word这两个进程并发;但在微观上,同一时刻只有一个进程在运行,只是操作系统在极短的时间内在不同的任务间切换,造成了宏观上多个任务同时运行的假象。
并行:这个是真正意义上的同一时刻有多个任务同时运行,这需要多个CPU才能完成。

标签:task,操作系统,并行,并发,任务,线程,进程
From: https://www.cnblogs.com/happy-to-study/p/16863231.html

相关文章

  • 缓存穿透、缓存并发、缓存失效之思路变迁
    我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题:缓存穿透缓存并发缓存失效一、缓存穿透 Paste_Image.png Paste_Image......
  • 多线程的异常处理
    1.异常在线程内部处理多线程使用过程中,在线程内部使用try...catch...是可以捕获异常的。但是外部使用try...catch...通常无法捕获异常,也就是说程序不会throw异常(异常被吞......
  • 线程同步-读者写者问题(多线程)
    问题描述    有读者和写者两个并发进程,共享一个文件,当两个或以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数......
  • Qt视频播放01-共享解码线程(耗时一年/性能凶残/至臻完美)
    一、前言大概在8年前就开始用ffmpeg做视频解码的显示,第一个版本就100行代码左右,功能极其简单,就是开个线程解码视频流转成图片发给主界面绘制。时间过得真快,从当初的一胎到......
  • 读者-写者(多线程)
    一、任务详情:0推荐在openEuer上实现1描述操作系统中“读者-写者”问题,理解问题的本质,提交你理解或查找到的文本资料2利用多线程完成reader和writer3在main中测试......
  • 【分布式技术专题】「架构实践于案例分析」盘点高并发场景的技术设计方案和规划
    高并发是什么?⾼并发(HighConcurrency)是互联⽹分布式系统架构设计中必须考虑的因素之⼀,它通常是指通过设计保证系统能够同时并⾏处理很多请求。高并发属性和因素⾼并发相关常......
  • 我看谁还不懂多线程之间的通信+基础入门+实战教程+详细介绍+附源码
    一、多线程之间的通信(Java版本)1、多线程概念介绍多线程概念在我们的程序层面来说,多线程通常是在每个进程中执行的,相应的附和我们常说的线程与进程之间的关系。线程与进程的......
  • 进程与线程的区别
    一、进程一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,在Windows系统中,每个运行的应用程序就是一个进程。二、线程进程中的......
  • 多线程基础
    多线程基础基本介绍线程由进程创建的,是进程的一个实体一个进程可以拥有多个线程单线程:同一个时刻,只允许执行一个线程多线程:同一个时刻,可以执行多个线程并发:同一个时......
  • JAVA----线程生命周期和状态
    1.新建状态(New)新创建了一个线程对象,但还没有调用start()方法。实现Runnable接口和继承Thread可以得到一个线程类,new一个实例出来,线程就进入了新建状态。2.Runnable状态......