1.在java中继承Thread 重写Run方法
定义创建启动线程
public static void main(String[] args) {
//创建启动线程
Thread t = new Processor();
//t.run();这是普通方法调用,只有一个线程,run方法结束后,才运行main
t.start();//执行瞬间结束。告诉JV分配一个新的栈给t线程
//run不需要程序员手动调用,系统线程启动后自动调用run方法
for(int i = 0;i<10;i++) {
System.out.println("main-->"+i);
}
}
}
//定义一个线程
class Processor extends Thread{
public void run() {
for(int i = 0;i<5;i++) {
System.out.println("run-->"+i);
}
}
有了多线程之后,main方法结束只是主线程栈弹空,其他线程或其他栈中或许还有栈帧,
main方法结束后,程序还在运行。
2.写一个类实现Runnable接口,实现run等等方法
/推荐,因为一个类实现接口以外。保留了类的继承
public static void main(String[] args) {
Thread t = new Thread(new Processor());
t.start();
}
}
//推荐,因为一个类实现接口以外。保留了类的继承
class Processor implements Runnable {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}