JAVA中创建多线程有哪两种接口
时间: 2024-09-06 15:06:30 浏览: 41
在 Java 中,创建多线程主要有两种接口可以使用:
1. **Runnable** 接口:这是最常见的创建线程的方式,通过实现 Runnable 接口并重写 `run()` 方法来定义线程的行为。然后你可以将这个实现了 Runnable 的对象传递给 Thread 类的构造函数,或者将其作为 Thread 对象的 target 参数创建一个新的线程。
```java
public class MyRunnable implements Runnable {
public void run() {
// 线程执行的代码
}
}
Thread thread = new Thread(new MyRunnable());
thread.start();
```
2. **Callable<T>** 和 **FutureTask<T>** 接合:这种方式允许你在 Callable 接口中定义一个计算任务,并返回一个结果。FutureTask 封装了 Callable 的结果以及执行状态,可以用它直接创建 Thread 或 Future 来获取异步计算的结果。
```java
public class MyCallable implements Callable<Integer> {
@Override
public Integer call() throws Exception {
// 计算任务
return 42;
}
}
ExecutorService executor = Executors.newSingleThreadExecutor();
FutureTask<Integer> future = new FutureTask<>(new MyCallable());
executor.execute(future);
try {
Integer result = future.get(); // 获取计算结果
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
```
阅读全文