简介
每次学习或者总结的时候,都应该带着问题去想去思考,这样才能理解的更深刻。那么对于多线程,相信好多人碰到过,那么我们来看看多线程。
一、进程和线程
进程:是指处于运行过程中的程序,并且具有一定的独立功能。进程是系统进行资源分配和调度的一个单位。当程序进入内存运行时,即为进程。
每次看到这种官方描述,相信大家都会比较头疼,那我们来简单描述一下:程序至少要有一个进程,进程之间是独立的,是资源分配和调度的一个单位。
线程:进程至少有一个线程,同个进程内多个线程资源共享,是cpu调度的基本单元。
二、线程生命周期
有5种状态:新建、就绪、运行、阻塞、死亡。
用一副图片来展示一下线程的生命周期
描述:
- 新建:创建一个线程 new Thread。
- 就绪:当前线程调用start()方法进入就绪状态,有执行资格没有执行权限。
- 运行:线程抢到了cpu执行权限,就进入运行状态。
- 阻塞:造成线程阻塞分类比较多,上面的图片划分出来。这就不一一叙述了,简单说一下,阻塞状态让出cpu资源给别的线程使用,类别不同,执行的状态也不一样。
- 死亡:线程执行完毕,线程就死亡了。(这块需要说的是,线程池中的线程会回到线程池中,系统重启的时候&