📅  最后修改于: 2023-12-03 14:54:05.940000             🧑  作者: Mango
java.util.concurrent.Executor
是一个管理异步任务执行的接口。它提供了执行任务的标准方式,以及灵活性来控制它们的执行方式。该接口定义了一个唯一的方法 execute
,该方法接受一个实现 java.lang.Runnable
接口的任务,这个任务将在将来的某个时间点执行。
public interface Executor {
void execute(Runnable command);
}
下面的示例演示了如何使用 Executor
接口来处理两个线程任务,其中一个任务使用匿名内部类传递给 execute
方法,另一个使用具有 Runnable
接口的实例传递给 execute
方法:
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
public class ExecutorExample {
public static void main(String[] args) {
Executor executor = Executors.newFixedThreadPool(2);
executor.execute(new Runnable() {
@Override
public void run() {
System.out.println("Task 1 executed.");
}
});
Runnable task2 = () -> System.out.println("Task 2 executed.");
executor.execute(task2);
}
}
在上面的代码中,我们首先调用 Executors.newFixedThreadPool(2)
方法,该方法返回一个包含两个线程的池,然后创建一个 Executor
实例。
我们使用 execute
方法执行任务。在第一个任务中,我们使用一个匿名内部类来传递一个 Runnable
实现,该实现打印一条消息。在第二个任务中,我们创建一个 Runnable
实现,并将其引用传递给 execute
方法。在两种情况下,我们使用 execute
方法在异步线程中执行任务。执行结果如下:
Task 1 executed.
Task 2 executed.
Executor
接口提供了几个优点:
通过使用 Executor
接口,程序员可以轻松地管理异步线程,提高程序的灵活性和性能。它可以用于创建各种类型的应用程序,包括网络应用程序、桌面应用程序和移动应用程序。