0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

线程与进程的概念与区别

Dbwd_Imgtec 来源:未知 作者:龚婷 2018-03-16 15:30 次阅读

一、线程与进程

1.概念

线程:是程序执行流的最小单元,是系统独立调度和分配CPU(独立运行)的基本单位。

进程:是资源分配的基本单位。一个进程包括多个线程。

2.区别:

1、线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。

2、每个进程都有自己一套独立的资源(数据),供其内的所有线程共享。

3、不论是大小,开销线程要更“轻量级”

4、一个进程内的线程通信比进程之间的通信更快速,有效。(因为共享变量)

二、多线程与多进程

多线程:同一时刻执行多个线程。如,用浏览器一边下载,一边听歌,一边看视频,一边看网页......

多进程:同时执行多个程序。如,同事运行YY,QQ,以及各种浏览器。

三、并发与并行

并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)。

并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。

强烈注意:多核,多cup,多机是不同的概念。

补充:

多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。

多核心cpu主要分原生多核和封装多核。

- 原生多核指的是真正意义上的多核,每个核心之间都是完全独立的,都拥有自己的前端总线,不会造成冲突,即使在高负载状况下,每个核心都能保证自己的性能不受太大的影响,通俗的说,原生多核的抗压能力强,但是需要先进的工艺,每扩展一个核心都需要很多的研发时间。

- 封装多核是只把多个核心直接封装在一起,和原生的比起来还是差了很多,而且后者成本比较高,优点在于多核心的发展要比原生快的多。

多个处理机及存储器模块构成的并行处理机被称为多处理机系统(multiprocessor system),简称多处理机。多机系统是将多个VLSI(超大规模集成电路)工艺集成的微处理机芯片结合在一起,由多个处理机并行工作以达到所需的高速度的,因此多机系统实际上是并行处理技术和VLSI技术相结合的产物。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 线程
    +关注

    关注

    0

    文章

    487

    浏览量

    19490
  • 进程
    +关注

    关注

    0

    文章

    193

    浏览量

    13875

原文标题:基础知识:线程,进程,多进程,多线程,并发,并行的区别

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式系统中的线程进程与任务概念区别

    每个线程与主程序共用地址空间,受限于2GB地址空间; 2)线程之间的同步和加锁控制比较麻烦;一个线程的崩溃可能影响到整个程序的稳定性
    发表于 03-04 15:03 244次阅读
    嵌入式系统中的<b class='flag-5'>线程</b>、<b class='flag-5'>进程</b>与任务<b class='flag-5'>概念</b>与<b class='flag-5'>区别</b>

    线程是什么的基本单位 进程线程的本质区别

    的代码、数据以及用于执行这些代码的上下文信息。一个进程可以由一个或多个线程组成,从而并发执行多个任务。 本质区别: 资源拥有方式:进程是资源分配的基本单位,每个
    的头像 发表于 02-02 16:30 324次阅读

    mcu线程进程区别是什么

    MCU线程进程是嵌入式系统中常见的并行执行的概念,它们之间有许多区别,包括线程进程的定义、资
    的头像 发表于 01-04 10:45 256次阅读

    你还是分不清多进程和多线程吗?一文搞懂!

    你还是分不清多进程和多线程吗?一文搞懂! 多进程和多线程是并发编程中常见的两个概念,它们都可以用于提高程序的性能和效率。但是它们的实现方式和
    的头像 发表于 12-19 16:07 242次阅读

    进程线程概念及其区别

    今天浩道跟大家分享一篇关于进程线程之间关联的硬核干货,看看大神如何通过通俗易懂的图文,让大家更加深刻理解进程线程区别
    的头像 发表于 11-21 10:50 564次阅读
    <b class='flag-5'>进程</b>和<b class='flag-5'>线程</b>的<b class='flag-5'>概念</b>及其<b class='flag-5'>区别</b>

    如何查看一个线程的ID

    1.什么是线程? linux内核中是没有线程这个概念的,而是轻量级进程概念:LWP。一般我们所说的线程
    的头像 发表于 11-13 14:38 425次阅读
    如何查看一个<b class='flag-5'>线程</b>的ID

    进程线程区别

    1.什么是进程?为什么要有进程进程有一个相当精简的解释:进程是对操作系统上正在运行程序的一个抽象。 这个概念确实挺抽象,仔细想想却也挺精
    的头像 发表于 11-11 16:46 507次阅读
    <b class='flag-5'>进程</b>和<b class='flag-5'>线程</b>的<b class='flag-5'>区别</b>

    线程池基本概念与原理

    一、线程池基本概念与原理 1.1 线程概念及优势 C++线程池简介 线程池是一种并发编程技术,
    的头像 发表于 11-10 10:24 274次阅读

    RTOS中的线程进程和协程详解

    看到有小伙伴在讨论【RTOS任务属于线程还是进程】的话题,这里就来分析一下OS中的线程进程和协程的这几个概念,同时一起看看RTOS中的任务
    的头像 发表于 11-09 12:36 964次阅读
    RTOS中的<b class='flag-5'>线程</b>、<b class='flag-5'>进程</b>和协程详解

    关于Python多进程和多线程详解

    进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。关于多进程和多线程,教科书上最经典的一句话是
    的头像 发表于 11-06 14:46 304次阅读
    关于Python多<b class='flag-5'>进程</b>和多<b class='flag-5'>线程</b>详解

    嵌入式进程线程区别

    需要进行大量计算的优先使用线程 所谓大量计算,当然就是要耗费很多CPU,切换频繁了,这种情况下线程是最合适的。这种原则最常见的是图像处理、算法处理。
    发表于 09-04 10:05 169次阅读
    嵌入式<b class='flag-5'>进程</b>和<b class='flag-5'>线程</b>的<b class='flag-5'>区别</b>

    进程线程区别以及优缺点

    进程线程 1、什么是进程线程,有什么区别进程是资源(CPU、内存等)分配的基本单位,
    的头像 发表于 07-21 11:02 834次阅读

    程序中进程线程区别

    什么是进程 1、进程线程区别 进程是指正在运行的程序,它拥有独立的内存空间和系统资源,不同进程
    的头像 发表于 06-22 11:39 305次阅读
    程序中<b class='flag-5'>进程</b>和<b class='flag-5'>线程</b>的<b class='flag-5'>区别</b>

    RTOS中的任务是线程进程?还是协程?

    今天为大家讲解讲解OS中的线程进程和协程的这几个概念,同时一起看看RTOS中的任务到底属于哪一种。
    的头像 发表于 06-04 17:19 1226次阅读
    RTOS中的任务是<b class='flag-5'>线程</b>?<b class='flag-5'>进程</b>?还是协程?

    进程线程区别

    每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程
    的头像 发表于 05-09 11:06 3402次阅读
    <b class='flag-5'>进程</b>和<b class='flag-5'>线程</b>的<b class='flag-5'>区别</b>