异步执行
Posted 赵钱富贵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异步执行相关的知识,希望对你有一定的参考价值。
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();
以上是关于异步执行的主要内容,如果未能解决你的问题,请参考以下文章