问题遇到的现象和发生背景
当自定义类继续Thread重写run方法是,里面使用getName得到的结果就不是随机的
问题相关代码,请勿粘贴截图
public class MyThread extends Thread {
public MyThread(String name) {
super(name);
}
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(getName()+":正在执行!"+i);
}
}
}
public class Demo01 {
public static void main(String[] args) {
System.out.println("这里是main线程");
MyThread mt = new MyThread("小强");
mt.start();
for (int i = 0; i < 20; i++) {
System.out.println("旺财"+i);
}
}
}
运行结果及报错内容
这里是main线程
旺财0
旺财1
旺财2
旺财3
旺财4
旺财5
旺财6
旺财7
旺财8
旺财9
旺财10
旺财11
旺财12
旺财13
旺财14
旺财15
旺财16
旺财17
旺财18
旺财19
小强:正在执行!0
小强:正在执行!1
小强:正在执行!2
小强:正在执行!3
小强:正在执行!4
小强:正在执行!5
小强:正在执行!6
小强:正在执行!7
小强:正在执行!8
小强:正在执行!9
小强:正在执行!10
小强:正在执行!11
小强:正在执行!12
小强:正在执行!13
小强:正在执行!14
小强:正在执行!15
小强:正在执行!16
小强:正在执行!17
小强:正在执行!18
小强:正在执行!19
我的解答思路和尝试过的方法
我试过去掉getname得到的结果就随机
我想要达到的结果
那么是什么原因造成这种结果