线程与进程

概念

什么是进程

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

举个栗子说明一下:
在手机上每启动一个app就是启动一个进程,

什么是线程

引用百度:是操作系统能够进行运算调度的最小单位。

举个栗子说明一下:
线程可以理解成在进程中独立运行的子任务。比如,在QQ中和好友视频,下载文件,发送表情,这些都有独立的线程在后台运行。

优点

  使用多线程有什么优点呢。 那就是最大限度的利于CPU空闲时间来处理其他任务。

  例如:
如果在qq是单线程的那么在好友视频时就不能发文件发送表情包,如果要发送文件就必须停止好友视频,如果在发送文件时就不能和好友聊天等

  在多线中这些就可以同时进行了 在发文件时可以聊天,还可以视频等。cpu 会在这几个任务中来回切换以最大限度的利于空闲时间

执行任务图示

单线程

多线程

  多线程虽然看似使多个任务同时进行,但实则不然。他的同时进行也可能时cpu在在不同任务之间跳转来实现看似同时进行。例如在一个单核cpu中,qq中有三个任务,视频通话、文字聊天、下载文件cpu 会执行视频通话一些时间,执行文字聊天一些时间,下载文件一些时间,由于每次分配的时间的非常短 cpu又在不停的在这几个任务切换间切换,所以就达到了看似同时进行,实际上时在同一时间只有一个任务在执行。当然在多核cpu中也可能达到真正的同时进行,比如视频通话和文件现在,cpu 第一个核执行视频通话,第二个核执行文件下载,这样就达到真正的同时进行。


快乐的搬砖工

posted @ 2020-08-08 00:05  jelly_wt  阅读(74)  评论(0编辑  收藏  举报