mExecutorService
时间: 2024-05-09 19:12:53 浏览: 14
mExecutorService是Android中的一个线程池管理器,它可以对线程进行管理和调度。通过mExecutorService,你可以创建线程池、添加任务、取消任务、等待任务完成和获取任务的执行结果等。以下是mExecutorService的基本用法:
1.创建一个线程池
```java
ExecutorService mExecutorService = Executors.newFixedThreadPool(2);
```
这里我们创建了一个可以同时执行2个任务的线程池。
2.提交任务
```java
mExecutorService.submit(new Runnable() {
@Override
public void run() {
// 执行任务
}
});
```
这里我们提交了一个Runnable类型的任务,任务会在一个空闲的线程中执行。
3.取消任务
```java
Future<?> future = mExecutorService.submit(new Runnable() {
@Override
public void run() {
// 执行任务
}
});
future.cancel(true);
```
这里我们提交了一个Runnable类型的任务,并通过Future对象获取了该任务的执行结果。如果我们想要取消该任务,可以调用future.cancel(true)方法。
4.等待任务完成和获取任务的执行结果
```java
Future<String> future = mExecutorService.submit(new Callable<String>() {
@Override
public String call() throws Exception {
// 执行任务
return "Task Result";
}
});
try {
String result = future.get();
// 处理结果
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
```
这里我们提交了一个Callable类型的任务,并通过Future对象获取了该任务的执行结果。通过future.get()方法可以等待任务完成并获取任务的执行结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![sb3](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)