#ipc #single-consumer #ring-buffer #producer-consumer #inter-process #communication #crash

mspc_ipc

用于进程间通信的多生产者单消费者环形缓冲区

4 个版本

0.1.3 2024年7月28日
0.1.2 2024年7月26日
0.1.1 2024年7月25日
0.1.0 2024年7月25日

8#single-consumer

Download history 176/week @ 2024-07-21 118/week @ 2024-07-28 1/week @ 2024-08-04

295 次月下载

Apache-2.0

20KB
395 行代码(不包括注释)

MPSC IPC

用于进程间通信的多生产者单消费者

我所能找到的所有环形缓冲区实现都假设它们在单个进程中运行。当跨进程工作时,实现必须考虑到进程(生产者或消费者)可能在任何时刻崩溃,并且消费者必须能够恢复并可能跳过损坏的条目。

一种可能性是使用健壮的 futex,但这需要 pthreads。在我的场景中,我无法使用 pthreads,并且在该处重新实现逻辑太过脆弱。

依赖项

~155–390KB