在Java中,使用ThreadPoolExecutor类实现线程池。ThreadPoolExecutor类提供了多个方法来管理和控制线程池的行为。以下是一些常用的方法:
execute(Runnable command)
: 执行给定的任务,提交一个可执行的Runnable对象。
submit(Callable<T> task)
: 执行给定的任务,提交一个可执行的Callable对象,并返回一个表示任务的未来结果的Future对象。
shutdown()
: 关闭线程池,不再接受新的任务,但会等待已经提交的任务完成。
shutdownNow()
: 立即关闭线程池,并尝试停止所有正在执行的任务。
awaitTermination(long timeout, TimeUnit unit)
: 等待线程池中所有任务完成指定的时间。
isShutdown()
: 判断线程池是否已经关闭。
isTerminated()
: 判断线程池中所有任务是否已经完成。
getActiveCount()
: 获取线程池中正在执行任务的线程数量。
getTaskCount()
: 获取线程池中已经提交的任务数量。
getCompletedTaskCount()
: 获取线程池中已经完成的任务数量。
这些方法可以用来管理和监控线程池的执行状态,以及提交和执行任务。