首页 > 系统相关 >进程与线程的区别

进程与线程的区别

时间:2022-10-20 12:00:18浏览次数:54  
标签:多个 区别 程序 线程 进程 执行 CPU

进程的定义

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

线程的定义

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

 进程与线程的区别

    区别一:

    任何的一个程序都必须有且有一个以上的进程,而相对于一个进程而言也必须要有且有一个以上的线程。相对于进程而言,对线程进行划分的尺度一般要小很多,这就导致了多线程的一些程序能够出现更高的并发性。进程是执行中的一段程序,而一个进程中执行中的每个任务即为一个线程。一个线程只可以属于一个进程,但一个进程能包含多个线程。

    区别二:

    在执行进程的时候,一般会具有相互独立的多个内存单元。但是多个线程是可以共享内存的,这样运行效率就很大的程度上被提高了。相对于单个的独立进程而言都会有相应程序的运行入口以及一些程序等出口。线程就不一样了,它不能独立的去执行而必须要依附在相应的应用程序里面。这样的话应用程序就可以执行多个线程并进行相应的控制。

    区别三:

    多线程这样的意义是相对于在一个应用程序里面的,能够同时的执行。而操作系统不会认为多个线程就是多个独立应用,因此也就不会使其调度以及管理实现资源的分配。简单地讲线程就是运行活动的集合,它是所有独立功能程序集中于一点的数据集合,进程是独立的单位,它是由系统来进行分配资源以及调度的。在CPU系统上面,线程使得CPU系统更加有效,因为操作系统会保证当线程数不大于CPU数目时,不同的线程运行于不同的CPU上。

标签:多个,区别,程序,线程,进程,执行,CPU
From: https://www.cnblogs.com/Lsqq/p/16804238.html

相关文章

  • VS Code For Web 深入浅出 -- 进程间通信篇
    在上一篇中,我们一起分析了VSCode整体的代码架构,了解了VSCode是由前后端分离的方式开发的。且无论前端是基于electron还是web,后端是本地还是云端,其调用方式并无不......
  • java && C# 线程
     1、多个线程用到同一个资源的话,必须lock2、为了解决,在竞争的情况下,优先分配资源给A。就是A和B线程都同时在同一时刻需要资源x,然后的话也不清楚系统是具体怎样调度的。或者......
  • SVN中Revert changes from this revision 跟Revert to this revision的区别
    假如有个 文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10。Reverttothisrevision:如果是在版本6这里点击“Reverttothisrevision”,表示7~10的修改全部作废,历史倒退到了版本6......
  • C#向其实进程子窗体发送指令
    近日,想在自己的软件简单控制其它软件的最大化最小化,想到直接向进程发送指令,结果一直无效,经过Spy++发现,原来快捷方式在子窗体上,所以需要遍历子窗体在发送指令,以下为参考代码......
  • Vue 中 created 和 mounted 的区别
    大多数人在谈论生命周期钩子时会感到困惑的一件事是 ​​created​​​ 和 ​​mounted​​之间的区别。有着相似的名称,觉得应该做同样的事情,但还是有一些细微的差别。首......
  • ue4 vlc ue5 vlc插件,方便接入rtsp、rtmp、http、m3u8视频流等,支持gpu解码、支持播放声
    和商城插件的区别本插件和商城的Multi-channelplaynetworkvideostreamsByOpenCVhighperformanceWebCamera(基于opencv开发)相比,增强了很多功能,1.添加了播放声......
  • call apply bind 的区别
    相同点:动态修改当前函数内部环境对象this指向;异同点:执行方式的不同callapply改变后立即执行,是同步代码bind是异步代码,改变后不会立即执行,会......
  • iOS线程 - GCD常见问题
    GCD常见问题1-在主线程中调用方法,如下①执行 testONE后的输出结果:1 5 2 4 31-(void)testONE{23//并发队列4dispatch_queue_t......
  • 多线程中Callable简单使用
    Callable接口具备的特征如下1.有简单的类型参数,与call()方法的返回类型相对应2.声明了call方法,执行器运行任务时,该方法会被执行器执行,它必须返回声明中指定类型的对象3.......
  • 多线程
    多线程基础线程简介任务进程(Process)一个进程可以有多个线程线程(Thread)多线程核心线程就是独立的执行路径在程序运行时,即使没有自己创建的线......