导航:首页 > 编程语言 > 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优化线程相关的资料

热点内容
怎么创造一个秘密文件夹 浏览:976
电脑复制加密门禁卡到华为手机 浏览:405
怎么入驻地图app 浏览:996
学会自我调节和解压 浏览:858
安卓怎么显示地区 浏览:390
亚洲源码网 浏览:640
镶怎么组词app 浏览:6
文件夹视频图库 浏览:125
程序员产品调研 浏览:432
手机pdf阅读器下载 浏览:591
眼睛解压的正确方法 浏览:467
格式化c命令 浏览:140
java转换大小写函数 浏览:217
androidlinux源码 浏览:69
指令查询app源码 浏览:817
51单片机怎么采集比较器 浏览:826
我的世界泥土服务器怎么充钱 浏览:879
压缩毛巾干嘛用的 浏览:176
亿邮如何发加密邮件 浏览:958
it程序员炒股 浏览:172