进程与线程

84 阅读1分钟

一、进程和线程

什么是进程

  • 进程是计算机内执行的最小单位
  • 一个进程可以抽象理解为一个exe文件

什么是线程

  • 线程是进程内进行具体工作的工作流

二者对比

  • 一个进程内可以有一个或多个线程
  • 进程是计算机执行的最小单位,线程是进程内具体完成任务的工作流
  • 某种意义上来说,线程是特殊的进程(如某个进程只有一个线程,那么此时该线程可以看做是一个特殊的进程)

二、并行和并发

什么是并行

  • 在同一时间段内,有多个事件被同时执行(每个事件均在工作中)

什么是并发

  • 在同一时间段内,有多个事件被执行(不会同时执行事件,会采取分片的方式轮流处理每个事件)

二者对比

  • 家庭主妇需要照顾小孩,打扫卫生,做饭,她一个人轮流交替的做这些事情,这就是并发
  • 家庭主妇雇用了一个保姆,他们一起做这些事情,那么这时既有并发(假如做饭时只有一口锅,一个人用锅时另一个人就需要等待)也有并行(保姆负责做饭,主妇负责照顾孩子,同时进行这两件事) Q:一个线程被一个cpu执行一半后,还会被其他cpu接管继续执行吗?

A:会,线程执行到哪里会被保存,等到被其他任意cpu执行时,会被该cpu接管,继续向下执行

三、应用

案例1 异步调用

同步与异步

  • 同步:
  • 异步:

设计

结论

案例2 提高效率