如何判断线程池中所有线程是否执行完毕:shutdown()和awaitTermination() 您所在的位置:网站首页 判断线程是否执行完成 如何判断线程池中所有线程是否执行完毕:shutdown()和awaitTermination()

如何判断线程池中所有线程是否执行完毕:shutdown()和awaitTermination()

2024-06-04 03:34| 来源: 网络整理| 查看: 265

判断线程池中所有线程是否执行完毕 根据线程池中的总线程数目等于完成的线程数目:pool.getTaskCount()和pool.getCompletedTaskCount()

在这里插入图片描述

public interface FutureFuture 表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。 计算完成后只能使用 get 方法来获取结果,如有必要,计算完成前可以阻塞此方法。取消则由 cancel 方法来执行。 还提供了其他方法,以确定任务是正常完成还是被取消了。 一旦计算完成,就不能再取消计算。 如果为了可取消性而使用 Future 但又不提供可用的结果,则可以声明 Future 形式类型、并返回 null 作为底层任务的结果。 pool.getTaskCount() == pool.getCompletedTaskCount() package com.luna.thread; import java.util.Random; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class ThreadsIsDone { public static void main(String[] args) { // 创建一个10个线程的线程池 ThreadPoolExecutor pool = new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue()); for (int i = 0; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有