没有继承或实现多线程接口
public class ThreadDemo1 {
public static void main(String[] args) {
new TestThread().run();//main函数必须等到该方法返回才能继续执行
while(true){
System.out.println("main thread is running");
}
}
}
class TestThread{
public void run(){
while(true){
System.out.println(Thread.currentThread().getName()+" is running");
}
}
}
//result
//main is running
//main is running
//main is running
//main is running
//main is running
//main is running
继承Thread
public class ThreadDemo1 {
public static void main(String[] args) {
new TestThread().start();//main主线程和子线程交替执行
//该方法负责产生一个新的线程,并且调用run()方法
while(true){
System.out.println("main thread is running");
}
}
}
class TestThread extends Thread{//继承Thread
public void run(){
while(true){
System.out.println(Thread.currentThread().getName()+" is running");
}
}
}
//result
//Thread-0 is running
//Thread-0 is running
//Thread-0 is running
//Thread-0 is running
//main thread is running
//main thread is running
//main thread is running
//main thread is running
//main thread is running
//main thread is running
实现runnable接口
public class ThreadDemo1 {
public static void main(String[] args) {
TestThread tt = new TestThread();
Thread t = new Thread(tt);
t.start();
while(true){
System.out.println("main thread is running");
}
}
}
class TestThread implements Runnable{
public void run(){
while(true){
System.out.println(Thread.currentThread().getName()+" is running");
}
}
}
//result
//Thread-0 is running
//Thread-0 is running
//main thread is running
//Thread-0 is running
//main thread is running
//Thread-0 is running
//main thread is running
//Thread-0 is running
//main thread is running
//main thread is running
//main thread is running