1、继承Thread类实现多线程
继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如:
class musicThread extends Thread {
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 30; i++) {
System.out.println("music" + i);
}
}
}
musicThread mt = new musicThread();
mt.start();
2、实现Runnable接口方式实现多线程
class musicRunnableImpl implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 30; i++) {
System.out.println("music" + i);
}
}
}
Runnable runnable = new musicRunnableImpl();
Thread thread = new Thread(runnable);
thread.start();