java.lang.Thread是一个线程操作的核心类
多线程实现方法
如果要想实现一个多线程主类,有两个途径:
1)继承一个Thread类;
2)[推荐]实现Runnable、Callable接口。
继承一个Thread类实现多线程
实现线程主题类,但是在main方法中直接调用线程主体类的run方法
class MyThread extends Thread{
private String title;
public MyThread(String title){
this.title = title;
}
@Override
public void run(){
for (int i =0; i< 4; i++){
System.out.println(this.title+", i = " + i);
}
}
}
public class testdemo {
public static void main(String [] args){
MyThread myThreadA = new MyThread("我是线程A");
MyThread myThreadB = new MyThread("我是线程B");
MyThread myThreadC = new MyThread("我是线程C");
myThreadA.run();
myThreadB.run();
myThreadC.run();
}
}
打印结果如下
我是线程A, i = 0
我是线程A, i = 1
我是线程A, i = 2
我是线程B, i = 0
我是线程B, i = 1
我是线程B, i = 2
我是线程C, i = 0
我是线程C, i = 1
我是线程C, i = 2
正确启动多线程的方式应该调用thread类中的start()方法
启动多线程的方法:public void start();
导致此线程开始执行; Java虚拟机调用此线程的run方法。
结果是两个线程同时运行:当前线程(从调用返回到start方法)和另一个线程(执行其run方法)。