线程工厂
package com.example.git_lab_exc.service;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
import lombok.Data;
/**
* @auther lpc
* @create 2022-05-12-9:51
*/
@Data
public class MyThreadFactory implements ThreadFactory {
private final ThreadGroup group;
private final AtomicInteger threadNumber = new AtomicInteger(1);
private final String namePrefix;
private final String namePostfix;
public MyThreadFactory(String namePrefix) {
SecurityManager s = System.getSecurityManager();
group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup();
this.namePrefix = "[pool-" + namePrefix + "-thread-";
this.namePostfix = "]";
}
@Override
public Thread newThread(Runnable r) {
Thread t = new Thread(group, r,
namePrefix + threadNumber.getAndIncrement()+namePostfix,
0);
if (

该博客探讨了如何在Java中创建自定义线程工厂,以及如何结合使用线程池和拒绝策略。通过自定义`ThreadFactory`实现线程命名和初始化,然后在`ThreadPoolExecutor`中配置不同的拒绝策略,如`AbortPolicy`、`CallerRunsPolicy`等。还介绍了使用动态代理增强拒绝策略,以便在任务被拒绝前执行特定操作。
628

被折叠的 条评论
为什么被折叠?



