public class MyTest {
private static final ListeningExecutorService service = MoreExecutors.listeningDecorator(newFixedThreadPool(10));
private static final Collection<Future<?>> futures = new LinkedList<>();
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("0");
list.add("0");
list.add("0");
list.add("0");
for (final String str : list) {
ListenableFuture<Integer> explosion = service.submit(() -> {
try {
if (str.equals("0")) {
return 0;
}
return 1;
} catch (Exception e) {
}
return 1;
});
futures.add(explosion);
Futures.addCallback(explosion, new FutureCallback<Integer>() {
@Override
public void onSuccess(Integer num) {
if (num == 0) {
System.out.println("是0了");
} else {
System.out.println("不是0了");
}
}
@Override
public void onFailure(Throwable throwable) {
System.out.println("线程异常");
}
}, MoreExecutors.directExecutor());
}
// 线程等待。
for (Future<?> future : futures) {
try {
future.get();
System.out.println("线程等待");
} catch (Exception e) {
System.out.println("线程等待异常");
}
}
}
}
获取线程返回结果
最新推荐文章于 2025-10-21 21:40:09 发布
1028

被折叠的 条评论
为什么被折叠?



