在 Mac OS X 上,我有一个生成 JSON 对象的进程,以及另一个应该使用它们的间歇性进程。生产者和消费者进程是相互独立的。对象的生成频率不会超过每 5 秒一次,通常是几百字节,但有时可能会达到兆字节。对象应该是先进先出的。当生产者正在生产时,消费者可能会或可能不会运行,并且可能会或可能不会立即读取对象。
我愚蠢的解决方案是
- 创建一个目录。
- Producer 将每个 JSON 对象写入一个文本文件,并用序列号命名。
- 当 Consumer 启动时,它会按序列号顺序读取并删除文件,并且在运行时使用 FSEvents 来监视该目录是否有新文件到达。
有没有更简单或更好的方法来做到这一点?