首页 > 代码库 > 进程和线程区别

进程和线程区别

1.进程(Progress)

  进程是指独立程序在计算机上的一次执行活动。例如,运行中的QQ程序,运行中的MP3播放器等。运行一个程序就启动了一个进程。基于进程的多任务处理就是允许计算机同时运行多个程序。

2.线程(Thread)

  线程是比进程更小的执行单位,可以理解为,进程中执行的一段程序片段。基于线程的多任务处理就是一个程序可以执行多个任务。比如迅雷下载软件,当从网络上下载一段视频时,用户就可以在它下载完毕之前,播放已下载的视频内容,这是就存在播放和下载两线程。

3.进程和线程区别:

  在操作系统中能同时运行多个任务叫做多进程,在一个应用程序中多条执行路径冰法执行叫做多线程。进程和线程区别如下:

  • 每个进程都有独立的代码和数据空间(进程上下文),进程间的切换开销大
  • 同一进程内的多个线程共享相同大代码和数据空间,每个进程有独立的运行栈和程序计数器(PC),线程间切换开销小

  通常,以下情况可能要使用到多线程:

  • 程序需要同时执行两个或多个任务;
  • 程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作、搜索等;
  • 需要一些后台运行的程序时。

1.为什么需要多线程?

多线程是一种多任务并发的工作方式,具有以下优势:

  • 改善应用程序相应;
  • 提高计算机CPU利用率;
  • 改善程序结构

 

进程和线程区别