1.线程与进程
进程
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
2.线程与进程区别
(1)进程是资源分配的最小单位,线程是程序执行的最小单位
(2)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;
(3)资源拥有:进程是资源分配和拥有的单位,
同一个进程内的线程共享进程的资源
(4)进程间不会相互影响,一个线程挂掉将导致整个进程挂掉
总结:进程是所有线程的集合,每一个线程是进程中的一条执行路径。
为什么要使用多线程?
主要能体现到多线程提高程序效率。
多线程应用场景?
举例: 迅雷多线程下载、数据库连接池、分批发送短信等。