1.什么是进程?什么是线程?
我们可以把计算机上每一个正在进行的任务看做一个进程,比如说听音乐、做PPT、玩游戏等等。进程是受操作系统管理的基本运行单元。
而什么是线程呢?
线程是进程中独立的子部分,可以共享进程中的资源,而又有自己的小秘密。就如同进程在计算中一样的地位,所以也叫“轻量级的进程”
2.使用多线程
为什么要使用多线程呢?
因为现在的处理器为了提高效率,采取并发处理的方式,并发也就是看起来像是同时发生,但是同一时间处理器上只能执行一个进程,只是CPU的处理速度太快,我们看起来就像是一起发生一样。使用多线程的优势呢,就是可以同一时间内处理多种任务。使用多线程也就是使用异步,它的处理完全靠计算机调度,并不是按照代码的顺序来执行。谁的优先级更高,就更有可能获得CPU资源。
可以通过继承Thread类和实现Runnable接口。使用Runnable接口呢,避免的继承的单一性,当已经有了一个父类的的时候,就可以通过实现Runnable接口来实现多线程。
Thread类继承自Runnable接口,看源码发现Runnalbe接口里面只有一个run()方法,并没有启动多线程所需要的start()方法,所以需要把实现Runnable接口的实例对象作为一个target传给Thread类,由Thread类来启动多线程,而Thread类继承自Runnable,所以也完全可以把Thread子类的实例对象作为target传给Thread类,来创建多个线程,如果不传给Thread,只由Thread子类的实例对象来start()的话,一个target只能创建一个线程。
看一下Thread类的构造函数
3. 常用方法
currentThread()方法返回当前执行线程的信息。
isAlive()方法判断线程是否存活,也就是是否处在执行或者准备执行状态。
sleep()