Java多线程的两种创建方式
Java多线程的两种创建方式
编写一个程序,该程序能够生成3个线程,每个线程从1输出到10,要求用两种方法实现;
1、通过继承Thread类创建多线程
public class Thread1{
public static class testThread extends Thread{
@Override
public void run() {
super.run();
for (int i = 1; i <= 10; i++) {
System.out.println(Thread.currentThread().getName()+": "+i);
}
}
}
public static void main(String[] args){
for(int i=0; i<3; i++){
new testThread().start();
System.out.println("MainThread:"+i);
}
}
}
2、通过实现Runnable接口来创建线程
和继承自Thread类差不多,不过实现Runnable后,还是要通过一个Thread来启动。
public class Thread2 {
public static class testThread2 implements Runnable{
@Override
public void run() {
for (int i = 1; i <= 10; i++) {
System.out.println(Thread.currentThread().getName()+": "+i);
}
}
}
public static void main(String[] args){
for(int i=0; i<3; i++){
testThread2 thread = new testThread2();
new Thread(thread).start();
System.out.println("MainThread:"+i);
}
}
}
对于这两种创建方式,推荐使用第二种方式,即通过实现Runnable接口来创建线程。因为继承只能单继承,而实现可以多实现,且实现的方式有利于减小程序之间的耦合。