导航:首页 > 编程语言 > java优化线程

java优化线程

发布时间:2025-04-28 04:07:12

‘壹’ java多线程MasterWorker模式如何在高并发情况下优化

你说的Master指的是java的线程池吧,我之前做过一个项目,因为项目在内网拿不出来,我给你说一下我那次的经验。

几个关键点:

1、java线程池:使用java提供的ThreadPoolExecutor类构造主池,再构造一个辅池(辅池的作用在于当主池进入拒绝策略的时候,可以启动辅池,帮助主池分担一部分线程,或者在主池shutdown的瞬间又有任务进来,也会走到拒绝策略,此时可以启动辅池处理这些线程,一般情况下辅池不会启动),排队策略使用LinkedBlockingQueue队列。

2、单例模式:利用spring的IOC容器的单例性,每次取线程池时,从IOC容器中注入。创建一个组件类BatPool(spring组件默认为单例),里面再使用单例模式创建线程池,单例中的单例,保证单例性:


@Component

classBatPool{

privateThreadPoolExecutor mainPool;

ThreadPoolExecutor create(){

if(mainPool== null){

retrun new ThreadPoolExecutor();

}else{

retrunmainPool;

}

...

}


业务中:

@Autowired

BatPool batPool;

ThreadPoolExecutor pool =batPool.create();

...


线程池的配置你自己参考网上吧

这样在业务中,每次取到的池都是同一个池,不会多次创建。

如果你没有使用spring的话,我再想想办法怎么实现全局的单例模式

阅读全文

与java优化线程相关的资料

热点内容
老程序员编程步骤 浏览:303
物理去除加密软件 浏览:225
汇编语言可调试编译器 浏览:447
jpeg如何转成pdf 浏览:841
微机室为什么有服务器 浏览:657
安卓手机怎么打语音电话不断网 浏览:458
单片机汇编头文件 浏览:946
juniper命令行 浏览:68
程序员咨询销售工作怎么样 浏览:782
苹果文件服务器是什么 浏览:180
企业透明加密软件有监视功能吗 浏览:494
桌面的运行命令 浏览:9
主流厂商服务器维护流程是什么 浏览:807
压缩棉的被子先洗洗在用 浏览:242
批处理bat代码和文件夹 浏览:298
怎么交叉编译tslib14 浏览:494
致程序员生产力飙升 浏览:762
程序员害怕下班吗 浏览:108
铁路汉宜线加密网实景效果图 浏览:929
php工作难找 浏览:442