当前位置: 首页 > news >正文

企业网站建设话术未来分发网下载app

企业网站建设话术,未来分发网下载app,企业信息平台官网,网站制作商城Disruptor简介 Disruptor#xff08;中文翻译为“破坏者”或“颠覆者”#xff09;是一种高性能、低延迟的并发编程框架#xff0c;最初由LMAX Exchange开发。它的主要目标是解决在金融交易系统等需要高吞吐量和低延迟的应用中的并发问题。 Disruptor特点 无锁并发#x…Disruptor简介 Disruptor中文翻译为“破坏者”或“颠覆者”是一种高性能、低延迟的并发编程框架最初由LMAX Exchange开发。它的主要目标是解决在金融交易系统等需要高吞吐量和低延迟的应用中的并发问题。 Disruptor特点 无锁并发Disruptor基于无锁的数据结构它允许多个线程并发地读取和写入数据而无需使用传统锁定机制从而避免锁定的竞争和性能瓶颈。 环形缓冲区Disruptor使用一个环形缓冲区将数据项存储在其中。这个环形缓冲区可以通过预分配的方式来减少内存分配和垃圾回收的开销。 事件驱动Disruptor的核心思想是将数据项事件从生产者传递到消费者通过一种发布-订阅的模型来实现。生产者将事件写入缓冲区而消费者从缓冲区中读取事件进行处理。 高性能Disruptor专注于提供极高的吞吐量和低延迟适用于需要快速处理大量数据的应用如金融交易系统、网络数据传输等。 易于使用尽管Disruptor的内部实现复杂但它提供了简单而清晰的API使开发人员能够相对容易地集成和使用它。 并发编程的辅助工具Disruptor不仅仅是一个并发编程框架还提供了一些辅助工具如事件处理器、工作池等帮助开发者更好地处理并发任务。 Disruptor应用 Disruptor可以理解为一个可以集成在项目里的MQ,它主要也分为了生产者,消息队列和消费者这么几部分,接下来用一个例子演示 引进依赖 dependencygroupIdcom.lmax/groupIdartifactIddisruptor/artifactIdversion3.4.2/version /dependency定义监听实体 Data public class DisruptorEvent {/*** 定义加入队列的时间毫秒值*/private long creatTime;/*** 携带的其他信息*/private String data;} 定义消费者 实现EventHandler接口,重写onEvent方法 Slf4j public class DisruptorConsumer implements EventHandlerDisruptorEvent {Overridepublic void onEvent(DisruptorEvent disruptorEvent, long l, boolean b) throws Exception {log.debug(消费者开始消费数据:[{}], disruptorEvent);//模拟复杂环境下系统延迟Thread.sleep(1100);} } 初始化Disruptor 由于我们后续还要用到这个对象,所以要把他交给IOC容器来管理,定义bean名称,避免后续有多个Disruptor对象 Configuration public class DisruptorConfig {/*** 队列长度,注意必须是2的n次幂*/private static final int RING_BUFFER_SIZE 1024;Bean(name cardDisruptor)public DisruptorDisruptorEvent disruptorStart() {DisruptorConsumer consumer new DisruptorConsumer();DisruptorDisruptorEvent disruptor new Disruptor(DisruptorEvent::new,RING_BUFFER_SIZE,Executors.defaultThreadFactory(),ProducerType.MULTI,new BlockingWaitStrategy());disruptor.handleEventsWith(consumer);disruptor.start();return disruptor;} } 定义生产者 Slf4j public class DisruptorProducer {private static DisruptorDisruptorEvent disruptor;public DisruptorProducer(DisruptorDisruptorEvent disruptor) {DisruptorProducer.disruptor disruptor;}public static void push(DisruptorEvent disruptorEvent) {//获取队列RingBufferDisruptorEvent ringBuffer disruptor.getRingBuffer();boolean flag ringBuffer.tryPublishEvent(new EventTranslatorDisruptorEvent() {Overridepublic void translateTo(DisruptorEvent event, long l) {//这里一定要写成这种set的形式(也就是说不要改变这个event的内存指向地址),不然消费者会拿不到值event.setData(disruptorEvent.getData());event.setCreatTime(disruptorEvent.getCreatTime());}});if (!flag) {throw new RuntimeException(发送消息失败!);}} } 测试 使用postman模拟并发10次 public void test() {DisruptorEvent event new DisruptorEvent();event.setData(哈哈哈);event.setCreatTime(System.currentTimeMillis());DisruptorProducer.push(event);log.info(请求成功);}
http://www.w-s-a.com/news/800907/

相关文章:

  • 做网站都有哪些费用建设免费手机网站
  • 网站 组成代码做网站图片怎么插
  • 2020中国企业500强榜单南宁seo标准
  • 北美购物网站排名烟台专业的网站建站公司
  • 门户网站设计特点营销策划咨询机构
  • 天津做网站就到徽信xiala5中国营销型网站
  • 外汇网站建设制作深圳三站合一网站建设
  • 深圳坂田网站设计公司有哪些学校网站建设管理办法
  • 太原建设银行网站中山营销型网站设计
  • 广东省建设厅官方网站多少钱江苏省江建集团有限公司建设网站
  • 网站开发主流服装网站开发课程设计
  • 在iis里面创建网站wordpress响应式视频
  • 学设计哪个网站好网页设计音乐网站
  • 可以自己做斗图的网站上海模板建站多少钱
  • 山东川畅信息技术有限公司网站建设网站开发任务书
  • 网站排版设计欣赏搭建公司介绍网站
  • 网站弹窗是怎么做的长沙智优营家
  • 手机网站菜单设计模板菜单网站图片素材
  • 浙江网站推广爱企查企业查询入口
  • 公司网站平台vs2012网站开发课程设计
  • 哪些方法可以建设网站做网站失败
  • 龙岗网站建设技术wordpress左右两栏
  • 电子商务网站开发与应用的介绍怎么查询域名是否备案
  • 想做一个自己设计公司的网站怎么做的权威发布型舆情回应
  • 做ppt用的音效网站python基础教程网易
  • 可以做免费广告的网站有哪些做视频赚钱的国外网站
  • 苏州做物流网站电话郑州网站高端网站设计
  • 网站建设音乐插件怎么弄wordpress添加数据库文件
  • 汽车行业做网站福建省第二电力建设公司网站
  • delphi做网站开发商城网站建设价位