在Java中实现多线程有2中方式,实现Runable接口或继承Thread类,不管用哪种方式都要覆盖实现run方法。
继承Thread类的方式:
public class TestThread extends Thread {
private String dbid;
public TestThread(String dbid) {
this.dbid = dbid;
}
public void getRoleValue(String dbid){
for(int i=0; i<100; i++){
System.out.println(dbid + ": " +i);
}
}
@Override
public void run() {
this.getRoleValue(dbid);
}
}
以上是 继承Thread的类。
import java.util.ArrayList;
import java.util.List;
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
TestThread tt1= new TestThread("Thread1");
TestThread tt2= new TestThread("Thread2");
TestThread tt3= new TestThread("Thread3");
Thread t1 = new Thread(tt1);
Thread t2 = new Thread(tt2);
Thread t3 = new Thread(tt3);
System.out.println("Thread start------------");
List<Thread> list = new ArrayList<Thread>();
t1.start();
list.add(t1);
t2.start();
list.add(t2);
t3.start();
list.add(t3);
for(Thread t : list){
try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("Thread end------------");
}
}
以上是调用TestThread的类,其中join函数可以让主函数等待所有的子函数执行完。