线程工具-ThreadUtil

    不过,ExecutorService和Executors等众多概念依旧让我们使用这个包变得比较麻烦,如何才能隐藏这些概念?又如何用一个方法解决问题?ThreadUtil便为此而生。

    Hutool使用GlobalThreadPool持有一个全局的线程池,默认所有异步方法在这个线程池中执行。

    ThreadUtil.newExecutor

    获得一个新的线程池

    执行异步方法

    ThreadUtil.newCompletionService

    新建一个CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。

    ThreadUtil.sleep

    挂起当前线程,是Thread.sleep的封装,通过返回boolean值表示是否被打断,而不是抛出异常。

    此部分包括两个方法:

    • getStackTraceElement 获得堆栈项

    其它

    • 创建本地线程对象
    • interupt 结束线程,调用此方法后,线程将抛出InterruptedException异常
    • waitForDie 等待线程结束. 调用 Thread.join() 并忽略 InterruptedException
    • 获取JVM中与当前线程同组的所有线程