1、程序、进程、线程的概念:多线程
1.程序是指一组指示计算机或其余具备信息处理能力装置执行动做或作出判断的指令,一般用某种程序设计语言编写,运行于某种目标计算机体系结构上。
并发
2.进程是计算机中的软件程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操做系统结构的基础。ide
3.线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程本身不拥有操做系统资源,可是该线程可与同属进程的其余线程共享该进程所拥有的所有资源。性能
4.进程是程序的实体,而线程又是进程的实体。进程又是线程的容器。spa
2、程序、进程、线程三者区别以下:操作系统
1.程序:程序并不能单独执行,是静止的,只有将程序加载到内存中,系统为其分配资源后才可以执行。
线程
2.进程:程序对一个数据集的动态执行过程,一个进程包含一个或者更多的线程,一个线程同时只能被一个进程所拥有,进程是分配资源的基本单位。进程拥有独立的内存单元,而多个线程共享内存,从而提升了应用程序的运行效率。设计
3.线程:线程是进程内的基本调度单位,线程的划分尺度小于进程,并发性更高,线程自己不拥有系统资源,可是该线程可与同属进其余线程共享该进程所拥有的所有资源。每个独立的线程,都有一个程序运行的入口、顺序执行序列和程序的出口。blog
3、多进程、多线程的区别以下:进程
1.多进程:每一个进程互相独立,不影响主程序的稳定性,某个子进程崩溃对其余进程没有影响,经过增长CPU能够扩充软件的性能,能够减小线程加锁/解锁的影响,极大提升性能。缺点是多进程逻辑控制复杂,须要和主程序交互,须要跨进程边界,进程之间上下文切换比线程之间上下文切换代价大。
2.多线程:无需跨进程,程序逻辑和控制方式简单,全部线程共享该进程的内存和变量等。缺点是每一个线程与主程序共用地址空间,线程之间的同步和加锁控制比较麻烦,一个线程的崩溃会影响到整个进程或者程序的稳定性。