一个主线程下有多个子线程任务,主线程必须在100秒内将子线程执行的集合结果进行处理返回

面试题分类: Java一个主线程下有多个子线程任务,主线程必须在100秒内将子线程执行的集合结果进行处理返回
feng07202 管理员 asked 7月 ago

一个主线程下有多个子线程任务,主线程必须在100秒内将子线程执行的集合结果进行处理返回,子线程如果在100秒内没有执行完停止执行

FavoriteLoading添加本文到我的收藏
2 Answers
fingthinking 管理员 answered 7月 ago

通过Callable来写异步线程,并通过future的get(100000)进行判断,如果得不到结果,则返回空值。

FavoriteLoading添加本文到我的收藏
JackWang 管理员 answered 7月 ago

java.util.concurrent.ExecutorService.invokeAll(Collection<? extends Callable>, long, TimeUnit),当给定时间任务没有全部完成就自动cancel

FavoriteLoading添加本文到我的收藏

return top