Когда я запустил ваш код, он выдал мне эту ошибку.
В вашем коде нет ошибок. Это все о ваших китайских буквах. Он должен быть в кодировке UTF-8. Есть много китайских стилей шрифтов, которые не в кодировке UTF-8. Это также обсуждалось на здесь .
Пока вы можете попробовать этот код.
MyThread. java
class MyThread extends Thread {
public void run() {
this.setName("sub thread");
for(int i = 0; i < 1000; i +=2)
System.out.println("Current thread:" +this+ " "+i);
}
}
CreateThreadTest. java
public class CreateThreadTest {
public static void main(String[] args) {
MyThread mt = new MyThread();
mt.start();
Thread t = Thread.currentThread();
t.setName("main thread");
System.out.println("The current thread is:"+t);
}
}
После запуска этого кода, я получил желаемый вывод
The current thread is:Thread[main thread,5,main]
Current thread:Thread[sub thread,5,main] 0
Current thread:Thread[sub thread,5,main] 2
Current thread:Thread[sub thread,5,main] 4
Current thread:Thread[sub thread,5,main] 6
Current thread:Thread[sub thread,5,main] 8
.......