3

我计划将 Chronicle 4 (SingleChronicleQueue) 用于 IPC 。

我以前使用的是 Chronicle 3 (IndexedQueue),它不是线程安全的,我曾经为每个线程创建多个队列,但有人告诉我使用 SingleChronicleQueue 我可以为 JVM 中的所有线程使用 1 个队列。

但是,如果 2 个不同的进程试图在同一个编年史队列中同时写入,这是否安全?

是否建议这样做或对于不同的进程我需要创建不同的队列。

4

1 回答 1

3

感谢您提出有关 Chronicle Software 产品的问题。

文档中的相关链接是: https ://github.com/OpenHFT/Chronicle-Queue#single-chronicle-queue

关键短语是:“同一台机器上的并发作者”。

Chronicle-Queue 使用比较和交换操作来原子地改变支持队列实例的共享堆外内存,因此多个进程可以在同一台机器上对队列进行写入和读取。

我希望这回答了你的问题。

最好的问候,特里

于 2017-08-24T11:47:37.273 回答