使用线程池中线程对象的步骤:
- 创建线程池对象
- 创建Runnable接口子类对象
- 提交Runnable接口子类对象
- 关闭线程池(一般不做)
Runnable实现类代码:
public class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("我需要一个教练...");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("教练来了" + Thread.currentThread().getName());
System.out.println("教我游泳,教完后,教练回到了游泳池");
}
}
线程测试类:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Demo01ThreadPool {
public static void main(String[] args) {
// 创建线程池对象
ExecutorService service = Executors.newFixedThreadPool(2); // 包含2个线程对象
// 创建Runnable实例对象
MyRunnable r = new MyRunnable();
// 自己创建线程对象的方式
// Thread t = new Thread(r);
// t.start();
// 从线程池中获取线程对象,然后调用MyRunnable中的run()
service.submit(r);
// 在获取一个线程对象
service.submit(r);
service.submit(r);
// 关闭线程池
// service.shutdown();
}
}