1-1 进程和多线程
1、什么是进程?
进程,就是一次程序的执行。举个例子,Windows任务管理器中的运行在内存中的exe文件理解成进程,进程是受操作系统管理的基本运行单元。
2、那什么是线程?
线程可以理解为:进程中独立运行的子任务。举个例子,QQ.exe运行时,就有很多子任务在同时运行,如下载文件线程、发送表情线程、好友视频线程等。
3、多线程的优点是什么呢?
使用多线程技术后,可以在同一时间内运行更多不同种类的任务,最大限度地利用CPU的空闲时间来处理其他任务。CPU在这些不同的人物之间来回切换,由于切换的速度非常快(CPU切换的速度取决于CPU的主频),给人的感受就是这些任务似乎在同时运行。还不明白的话,看下图:
CPU完全可以在任务1和任务2之间来回切换,任务2就不必等任务1结束在运行,使用多线程就是在使用异步(排队执行就是同步)。
- 一个程序至少有一个进程,但是一个进程至少有一个线程.
- 线程的划分尺度小于进程,使得多线程程序的并发性高。
- 进程在执行过程中拥有独立的内存单元,互不影响,而程只是进程不同的执行路径,多个线程共享内存,从而极大地提高了程序的运行效率。
- 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。
- 进程的切换比线程的切换开销大。
作者:Ryanjie
出处:http://www.cnblogs.com/ryanjan/
本文版权归作者和博客园所有,欢迎转载。转载请在留言板处留言给我,且在文章标明原文链接,谢谢!
如果您觉得本篇博文对您有所收获,觉得我还算用心,请点击右下角的 [推荐],谢谢!