1、什么是进程?
进程,就是一次程序的执行。举个例子,Windows任务管理器中的运行在内存中的exe文件理解成进程,进程是受操作系统管理的基本运行单元。
2、那什么是线程?
线程可以理解为:进程中独立运行的子任务。举个例子,QQ.exe运行时,就有很多子任务在同时运行,如下载文件线程、发送表情线程、好友视频线程等。
3、多线程的优点是什么呢?
使用多线程技术后,可以在同一时间内运行更多不同种类的任务,最大限度地利用CPU的空闲时间来处理其他任务。CPU在这些不同的人物之间来回切换,由于切换的速度非常快(CPU切换的速度取决于CPU的主频),给人的感受就是这些任务似乎在同时运行。还不明白的话,看下图:
CPU完全可以在任务1和任务2之间来回切换,任务2就不必等任务1结束在运行,使用多线程就是在使用异步(排队执行就是同步)。
- 一个程序至少有一个进程,但是一个进程至少有一个线程.
- 线程的划分尺度小于进程,使得多线程程序的并发性高。
- 进程在执行过程中拥有独立的内存单元,互不影响,而程只是进程不同的执行路径,多个线程共享内存,从而极大地提高了程序的运行效率。
- 进程是操作系统分配资源的最小单元;线程是操作系统调度的最小单元;多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。
- 进程的切换比线程的切换开销大。
标签:任务,线程,进程,多线程,CPU,运行 来源: https://www.cnblogs.com/xiazhenbin/p/13817064.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。