Java程序的运行原理
1.当使用Java命令启动一个程序的时候,JVM启动。就启动了一个进程。
2.main方法会执行。main方法的运行就是该进程中的一个线程(主线程)。
创建线程
1.继承 Thread类 的类,是一个真正的线程类,可以直接创建其对象,该对象就是一个线程
2.实现 Runnanle接口 的类,并不是一个真正的线程类。使用的时候还是需要通过Thread的构造方法
3.重写run方法 将该线程要完成的事情写在run方法中,run方法不能直接调用,由线程来自动调用
4.启动线程:start()调用该方法来启动一个线程
多线程的实现方式
创建一个线程的步骤:
1.重写run方法:就是该线程所需要完成的工作
2.创建线程对象
3.调用start方法启动线程。线程会自动调用run方法
实现Runnable接口
1.重写run方法
2.创建Thread对象 ,将实现了Runnable接口的类作为Thread对象的一个成员
3.调用Thread类的run方法。
多线程两种实现方式的区别
继承的方式:
优点:因为继承了Thread类 ,直接就是一个线程类。可以直接使用线程的所有方法。
缺点:单继承
实现接口的方式:
优点:可以实现多个接口
缺点:不能直接创建线程类,需要借助Thread类来创建一个线程。编程稍显复杂。