我有一个需要将数据发送到另一个进程的程序。这将是多个作家一个消费者设置。我不需要在不同的机器上支持编写器和消费者,因此一些IPC就足够了。
该工具应该记录我可以在调试中使用的信息。这意味着如果作者崩溃(例如,段错误,断言错误......),我需要获得在崩溃之前写的所有信息。
- 我最初计划使用ZeroMQ,但ZeroMQ在发送之前在编写器中缓存,因此我有时会丢失崩溃数据。
- 所以我尝试使用共享内存。这里没有数据丢失(它完美地工作),但它非常慢。这肯定是由于我的实施。我想一个更熟练的程序员能够让这个速度极快。
- 我认为unix域套接字是合理的使用方法。它们应该与我作为程序员的技能兼容,并提供足够好的性能。 他们是否保证作者崩溃时没有数据丢失?