java多线程创建有三种方法
1.继承
2.接口
3.匿名内部类
来说说两种主要的创建方法
一.继承
创建一个类继承Thread,用来开启一个线程
package textthread;
public class thread extends Thread {
public void run() {
for (int j = 0; j < 30; j++) {
System.out.print("子线程"+j);
}
}
}
再创建一个主线程,即main,这个是主线程
package textthread;
public class main {
public static void main(String[] args){
thread t1 = new thread();
t1.start();
for (int i = 0; i < 30; i++) {
System.out.print("主线程" + i);
}
}
}
运行下代码,出现结果:
明显的输出交叉,线程创建成功。
深度挖掘下
点开extends Thread()
看到implements Runnable了嘛,这其实就是我们的第二种方法接口的方式
二,接口
先创建一个线程
package textthread;
public class runable implements Runnable {
@Override
public void run() {
for (int j = 0; j < 30; j++) {
System.out.print("子线程"+j);
}
}
}
创建main
package textthread;
package textthread;
public class main {
public static void main(String[] args) {
runable run = new runable();
Thread th = new Thread(run);
th.start();
for (int i = 0; i < 30; i++) {
System.out.print("主线程" + i);
}
}
}
执行
交叉创建成功
深度挖掘一下
点开runable这个接口
发现就一个run方法是要重写的
run()方法是在线程启动时自动执行的