最初级的多线程使用就是extends Thread 还有 implements Runnable两个。
第一种继承Thread,在主方法中调用对象.start();就可开始多线程。
而第二种实现了Runnable的类,不能直接使用对象.run();,这样会被当成一个普通的方法,等待他运行完成之后才会继续运行主方法中的内容。此时应该在创建了这个类的对象之后使用new Thread(对象名称).start();来开启多线程。!!!!
//
public class Test {
public static void main(String[] args) throws InterruptedException {
MyThread myThread = new MyThread();
MyThread01 myThread01 = new MyThread01();
myThread.start();
new Thread(myThread01).start();
for (int i = 0; i < 1000 ; i++) {
System.out.println("main的方法执行了--->"+i+"次!");
Thread.sleep(1000);
}
/* myThread.start();
myThread01.run();*/
}
}
public class MyThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 1000 ; i++) {
System.out.println("继承Thread的MyThread执行了----->"+i+"次!");
try {
Thread.sleep(800);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class MyThread01 implements Runnable {
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
System.out.println("实现Runnable接口的多线程--->"+i+"次!");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}