执行器只是另一个并行化抽象
不,不是"又一个".Executors框架是Java发展过程中的一个重要里程碑.该框架减轻了Java程序员管理线程的负担,使并发工作变得简单得多.
ExecutorService
, not Executor
Executor
接口是not最常用的部件.该接口定义了execute
方法,该方法may在后台线程上运行任务,或者也可以在当前线程上运行任务.
如果您知道您需要一个后台线程,那么可以使用ExecutorService
子接口的实现及其方法,比如submit
.
我怎么才能买到一辆
通常,我们通过在Executors
类上调用一个方便的工厂方法来获得ExecutorService
的未指定实现.
您可能需要由任意数量的线程池支持的Executor服务.仅当您知道同时执行的任务数量有限时才使用此选项,以免使您的计算机负担过重.
ExecutorService es = Executors.newCachedThreadPool() ;
您可能需要由一定数量的线程池支持的Executor服务.
ExecutorService es = Executors.newFixedThreadPool( maxThreadsCount ) ;
在现代Java版本21+中,我们在大多数情况下使用virtual threads.我想Android不会提供虚拟线程,短期内也不会.
ExecutorService es = Executors.newVirtualThreadPerTaskExecutor() ;
这些Executor服务中的任何一个都可以运行您定义为Runnable
或Callable
的任务.
或者我必须创建我自己的遗嘱执行人?
不,这是一种非常罕见的情况,您需要定制的Executor服务.
[创建我自己的遗嘱执行人]是这样做的常见做法吗?
不是的.
Executors框架的目的是处理处理线程和任务的底层细节.有几个优秀的ExecutorService
实现与JavaBundle 在一起,通过Executors
类提供给您.
上一篇:我不懂Android我的 comments 适用于Java平台.我的 comments 可能也适用于Android;我只是不知道.