线程工具-ThreadUtil
不过,ExecutorService和Executors等众多概念依旧让我们使用这个包变得比较麻烦,如何才能隐藏这些概念?又如何用一个方法解决问题?ThreadUtil
便为此而生。
Hutool使用GlobalThreadPool
持有一个全局的线程池,默认所有异步方法在这个线程池中执行。
ThreadUtil.newExecutor
获得一个新的线程池
执行异步方法
ThreadUtil.newCompletionService
新建一个CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
ThreadUtil.sleep
挂起当前线程,是Thread.sleep
的封装,通过返回boolean值表示是否被打断,而不是抛出异常。
此部分包括两个方法:
getStackTraceElement
获得堆栈项
其它
- 创建本地线程对象
interupt
结束线程,调用此方法后,线程将抛出InterruptedException异常waitForDie
等待线程结束. 调用Thread.join()
并忽略 InterruptedException- 获取JVM中与当前线程同组的所有线程