实际项目中Java多线程模型的总结整理-创新互联
分享一下最近项目中用到的多线程模型。
成都创新互联公司专注于企业全网整合营销推广、网站重做改版、长顺网站定制设计、自适应品牌网站建设、H5场景定制、商城系统网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为长顺等各大城市提供网站开发制作服务。需要实现:根据租户填写的表单,自动部署ES集群,提供ES服务。
基本思路:
就是将一个事务生命周期分成不同的阶段,每个阶段都是用线程去负责执行。
目前主要分为四个阶段:事件监听阶段,事件提交阶段,执行器阶段,状态校验阶段
流程图如下:
线程分类:
A、监听线程
B、工作线程
C、状态校验线程
D、执行器线程
原理图简单介绍:
1、AcceptorThread线程:监听操作对列表,将新产生的事件记录扔进事件分类器,并且同时往内存容器中添加一条记录。
2、事件分类器:根据事件的类型,创建不同的工作线程
3、工作线程:工作线程是具体干活的,如负责调用marathon的create接口,删除接口,停止接口等
4、执行器:
A、不断的监听执行容器,有任务的话,就去执行,如停止节点,启动节点,恢复节点等操作。
B、更新节点表的状态,以及 内存缓存容器中节点的状态
5、OptStateThread:监听内存缓存容器OptMap,如果有新的事件发生,根据类型产生不同的校验线程;
6、校验线程:具体负责校验的;根据校验的结果来更新集群的状态
总结:
A、体现了生产者,消费者思想
B、对事件进行了分割,各自线程只负责自己单独的部分。
C、对事务的生命周期,要学会进行合理的拆分
D、要横向思维,分阶段,分模块划分
代码不是很重要,主要是理解这种设计模式,设计思路;
其实,可以从Netty的多线程模型中吸取知识,从而应用到以后的项目中。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文标题:实际项目中Java多线程模型的总结整理-创新互联
网站路径:http://scyanting.com/article/ccdidj.html