标签: java thread-local fork-join
我正在使用一个使用ThreadLocal对象来跟踪状态的外部库。这对于使用诸如ForkJoinPool的工作窃取执行程序是否安全?
ThreadLocal
ForkJoinPool
具体来说,如果任务被阻止且工作窃取算法选择了新任务,那么新任务和上一个任务是否会最终共享ThreadLocal对象,从而破坏它并使其无法记录状态?如果是这样的话,除了使用像老式固定ThreadPoolExecutor这样的非工作窃取执行者之外,最好的方法是什么?
ThreadPoolExecutor