public void execute(){
//来一个线程池
ExecutorService executor = Executors.newFixedThreadPool(2);
CompletableFuture<Integer> future1= CompletableFuture.supplyAsync(new Supplier<Integer>()
{
@Override
public Integer get() {
for(int i=0;i<10;i++) {
System.out.println("task1:"+i);
sleep(1000);
}
return 333;
}
},executor);
CompletableFuture<Integer> future2 =CompletableFuture.supplyAsync(new Supplier<Integer>()
{
@Override
public Integer get() {
for(int i=0;i<10;i++) {
System.out.println("task2:"+i);
sleep(1000);
}
return 666;
}
},executor);
//等待所有任务执行结束
CompletableFuture<Void> all= CompletableFuture.allOf(future1,future2);
all.thenAccept(e->{
//关闭线程池
executor.shutdown();
System.out.println("执行结束");
});
}
static void sleep(long millis) {
try {
Thread.sleep(millis);
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
相关文章
- 10-09ETL工程师必看!超实用的任务优化与断点执行方案
- 10-09WebApi ActionFilterAttribute 执行顺序以及发生异常时的执行顺序
- 10-09python多进程执行任务
- 10-09一个伟大的发现,装X一下。笔记本win7系统64位机器执行unity 时,屏幕模糊解决的方法
- 10-09ExpandableListView getChildView 不执行,不显示子列表
- 10-09shell 在终端中打开另一个终端执行命令
- 10-09痞子衡嵌入式:链接函数到8字节对齐地址或可进一步提升i.MXRT1xxx内核执行性能
- 10-09Verilog中同步复位和异步复位比较
- 10-09SAP BRF+ ruleset里维护多条rule,每条rule逐一执行
- 10-09cron和crontab命令详解 crontab 每分钟、每小时、每天、每周、每月、每年定时执行 crontab每5分钟执行一次