javaThread学习(chapter1—线程的创建)
一:创建多线程
1:继承Thread,重写父类的run 方法
public class MyThread extends Thread{
@Override
public void run() {
super.run();
System.out.println("start run");
}
}
public class Main {
public static void main(String args[]) {
MyThread myThread= new MyThread();
myThread.start();
}
}
查看源码发现Thread 实现了Runnable 接口。
使用继承Thread的方法创建线程时,有一个缺点,java 本身只支持单继承,所以上面的MyThread 不能再继承别的类,所以推荐使用另一个方法。
2:实现Runnable 接口
public class CoThread implements Runnable {
@Override
public void run() {
System.out.println("start");
}
}
实现了Runnable接口并不能单独运行,而是要依靠Thread 的构造
public class Main {
public static void main(String args[]) {
Thread thread = new Thread(new CoThread());
thread.start();
}
}
这里还有一个很奇怪的是, 上面的例子中 MyThread 继承了Thread,从而也实现了Runnable的接口,所以也可以这么调用 ,以后看到这样写,也不要觉得奇怪
Thread thread = new Thread(new MyThread());
thread.start();