一、自定义类继承Thread类
代码:
public class ThreadTest {
@Test
public void test1(){
ThreadA threadA = new ThreadA();
ThreadA threadA2 = new ThreadA();
threadA.start();
threadA2.start();
try {
//为了让上面两个线程有足够时间执行完
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class ThreadA extends Thread{
@Override
public void run() {
for (int i = 0; i <100 ; i++) {
System.out.println(i);
}
}
}
二、自定义类实现Runnable接口
代码:
注意:每个线程传入相同的Runnable对象,即只需要创建一个自定义类对象
public class ThreadTest {
@Test
public void test2(){
ThreadB tb = new ThreadB();
//每个线程传入相同的Runnable对象
Thread t1 = new Thread(tb);
Thread t2 = new Thread(tb);
t1.start();
t2.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class ThreadB implements Runnable{
@Override
public void run() {
for (int i = 0; i <100 ; i++) {
System.out.println(i);
}
}
}