net.openhft.chronicle.bytes.Bytes.addressForWrite()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(1.3k)|赞(0)|评价(0)|浏览(90)

本文整理了Java中net.openhft.chronicle.bytes.Bytes.addressForWrite()方法的一些代码示例,展示了Bytes.addressForWrite()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Bytes.addressForWrite()方法的具体详情如下:
包路径:net.openhft.chronicle.bytes.Bytes
类名称:Bytes
方法名:addressForWrite

Bytes.addressForWrite介绍

暂无

代码示例

代码示例来源:origin: OpenHFT/Chronicle-Queue

private static void writeMessage(Wire wire, int messageSize) {
    Bytes<?> bytes = wire.bytes();
    long wp = bytes.writePosition();
    // TODO Optimise wire to give similar performance.
    if (false) {
      for (int i = 0; i < messageSize; i += 8)
        bytes.writeLong(0L);

    } else {
      long addr = bytes.addressForWrite(wp);
      Memory memory = OS.memory();
      for (int i = 0; i < messageSize; i += 16) {
        memory.writeLong(addr + i, 0L);
        memory.writeLong(addr + i + 8, 0L);
      }

      bytes.writeSkip(messageSize);
    }
    bytes.writeLong(wp, System.nanoTime());
  }
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

long result = batchAppenderNative.writeMessages(bytes.addressForWrite(0), bytes.realCapacity(), 1);

代码示例来源:origin: net.openhft/chronicle-queue

private static void writeMessage(Wire wire, int messageSize) {
    Bytes<?> bytes = wire.bytes();
    long wp = bytes.writePosition();
    long addr = bytes.addressForWrite(wp);
    Memory memory = OS.memory();
    for (int i = 0; i < messageSize; i += 16) {
      memory.writeLong(addr + i, 0L);
      memory.writeLong(addr + i + 8, 0L);
    }

    bytes.writeSkip(messageSize);
    bytes.writeLong(wp, System.nanoTime());
  }
}

相关文章

微信公众号

最新文章

更多