1-1 进程和多线程

1、什么是进程?

进程,就是一次程序的执行。举个例子,Windows任务管理器中的运行在内存中的exe文件理解成进程,进程是受操作系统管理的基本运行单元。

2、那什么是线程?

线程可以理解为:进程中独立运行的子任务。举个例子,QQ.exe运行时,就有很多子任务在同时运行,如下载文件线程、发送表情线程、好友视频线程等。

3、多线程的优点是什么呢?

使用多线程技术后,可以在同一时间内运行更多不同种类的任务,最大限度地利用CPU的空闲时间来处理其他任务。CPU在这些不同的人物之间来回切换,由于切换的速度非常快(CPU切换的速度取决于CPU的主频),给人的感受就是这些任务似乎在同时运行。还不明白的话,看下图:

 

CPU完全可以在任务1和任务2之间来回切换,任务2就不必等任务1结束在运行,使用多线程就是在使用异步(排队执行就是同步)。

 

  • 一个程序至少有一个进程,但是一个进程至少有一个线程.
  • 线程的划分尺度小于进程,使得多线程程序的并发性高。
  • 进程在执行过程中拥有独立的内存单元,互不影响,而程只是进程不同的执行路径,多个线程共享内存,从而极大地提高了程序的运行效率。
  • 进程是操作系统分配资源的最小单元;线程是操作系统调度的最小单元;多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。
  • 进程的切换比线程的切换开销大。
posted @ 2020-10-14 20:24  Peterxiazhen  阅读(99)  评论(0编辑  收藏  举报