我计划将 Chronicle 4 (SingleChronicleQueue) 用于 IPC 。
我以前使用的是 Chronicle 3 (IndexedQueue),它不是线程安全的,我曾经为每个线程创建多个队列,但有人告诉我使用 SingleChronicleQueue 我可以为 JVM 中的所有线程使用 1 个队列。
但是,如果 2 个不同的进程试图在同一个编年史队列中同时写入,这是否安全?
是否建议这样做或对于不同的进程我需要创建不同的队列。
我计划将 Chronicle 4 (SingleChronicleQueue) 用于 IPC 。
我以前使用的是 Chronicle 3 (IndexedQueue),它不是线程安全的,我曾经为每个线程创建多个队列,但有人告诉我使用 SingleChronicleQueue 我可以为 JVM 中的所有线程使用 1 个队列。
但是,如果 2 个不同的进程试图在同一个编年史队列中同时写入,这是否安全?
是否建议这样做或对于不同的进程我需要创建不同的队列。
感谢您提出有关 Chronicle Software 产品的问题。
文档中的相关链接是: https ://github.com/OpenHFT/Chronicle-Queue#single-chronicle-queue
关键短语是:“同一台机器上的并发作者”。
Chronicle-Queue 使用比较和交换操作来原子地改变支持队列实例的共享堆外内存,因此多个进程可以在同一台机器上对队列进行写入和读取。
我希望这回答了你的问题。
最好的问候,特里