java中有两种实现线程的方法:
1.以继承Thread类方式实现的线程类,该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。
2.以实现Runnable接口实现的线程类,该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。
一般来说两种方法都可以实现多线程,但是因为java只能单继承。如方式1,一旦继承Thread类以后,就不能再继承其他类,所以一般情况下大家都选择一实现Runnable接口方式来实现多线程。
public class Test1 {
public static void main(String[] args) {
new MyThread().start();
new Thread(new MyThread1()).start();
for (int i = 0; i < 100; i++) {
System.out.println("----------main---------" + i);
}
}
}
/**
* 以继承Thread类方式实现的线程类
* @author ligy
*
*/
class MyThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("---------MyThread--------" + i);
}
}
}
/**
* 以实现Runnable接口实现的线程类
* @author ligy
*
*/
class MyThread1 implements Runnable {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("---------MyThread1--------" + i);
}
}
}