Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

 架构图:

Disruptor底层源码解析(九)

性能为什么这么牛逼:

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

 Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

 Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

 Disruptor底层源码解析(九)

 

 Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

 Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

public void sendData(ByteBuffer data) {
		//1 在生产者发送消息的时候, 首先 需要从我们的ringBuffer里面 获取一个可用的序号
		long sequence = ringBuffer.next();	//0	
		try {
			//2 根据这个序号, 找到具体的 "OrderEvent" 元素 注意:此时获取的OrderEvent对象是一个没有被赋值的"空对象"
			OrderEvent event = ringBuffer.get(sequence);
			//3 进行实际的赋值处理
			event.setValue(data.getLong(0));			
		} finally {
			//4 提交发布操作
			ringBuffer.publish(sequence);			
		}
	}

 Disruptor底层源码解析(九)

Disruptor底层源码解析(九)

 

相关文章:

  • 2022-12-23
  • 2021-04-18
  • 2021-11-06
  • 2021-04-20
  • 2021-04-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2021-11-24
  • 2021-09-22
  • 2022-12-23
  • 2022-12-23
  • 2021-04-29
相关资源
相似解决方案