import java.util.concurrent.*;
public class test_02_17 {
public static void main(String[] args) {
// 使用线程池来管理所有线程
ExecutorService executorService = Executors.newFixedThreadPool(4);
// 方法1:使用Thread
executorService.submit(new MyThread());
// 方法2:实现Runnable接口
executorService.submit(new MyThread2());
// 方法3:实现Callable接口
Future<Integer> futureTask = executorService.submit(new MyThread3());
try {
Integer result = futureTask.get(); // 会等待任务完成并返回结果
System.out.println("Callable result: " + result);
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
// 方法4:线程池执行
executorService.submit(new MyThread2());
// 方法5:匿名内部类
executorService.submit(new Runnable() {
@Override
public void run() {
System.out.println("hello world1");
}
});
// 优雅关闭线程池
executorService.shutdown();
}
}
class MyThread extends Thread {
@Override
public void run() {
System.out.println("hello world5");
}
}
class MyThread2 implements Runnable {
@Override
public void run() {
System.out.println("yaun");
}
}
class MyThread3 implements Callable<Integer> {
@Override
public Integer call() {
return -1;
}
}