1 使用线程的方式,继承thread类,重写run方法
new Thread() { @Override public void run() { System.out.println("我是新的线程"); } }.start();
重写之后,线程执行的就是我们自己的run方法,而在Thread类中的run方法就不会被执行
这是Thread类的run方法
在这个方法中判断target是否为null,不为null,才执行target的run方法
2 既传入了runnable对象,又继承thread重写了run方法
Runnable runnable = new Runnable() { @Override public void run() { System.out.println("2 : "+Thread.currentThread().getName()); System.out.println("*************"); } }; new Thread(runnable) { @Override public void run() { super.run(); System.out.println("1 : "+Thread.currentThread().getName()); System.out.println("##############"); } }.start();
注意:重写了run方法,就不会执行父类Thread的run方法,关键看在重写的run方法里,有没有调用super.run(),有调用就会执行传入的runnable,没有调用就不会执行传入的runnable
始终只会是创建一个线程,打印的线程名是一样的
原文地址:https://www.cnblogs.com/moris5013/p/10694340.html
时间: 2024-10-04 23:36:05