gpt4 book ai didi

macos - Mac OS X 上的异步应用程序间通信

转载 作者:行者123 更新时间:2023-12-03 17:58:14 30 4
gpt4 key购买 nike

在 Mac OS X 上,我有一个生成 JSON 对象的进程,以及另一个应该消耗它们的间歇性进程。 生产者消费者进程是相互独立的。对象的生成频率不会超过每 5 秒,通常为数百字节,但有时可能达到兆字节。对象应该以先进先出的方式进行通信。当生产者生产时,消费者可能正在运行,也可能不运行,并且可能会也可能不会立即读取对象。

我的愚蠢解决方案是

  • 创建一个目录。
  • Producer 将每个 JSON 对象写入文本文件,并用序列号命名。
  • 当 Consumer 启动时,它会按序列号顺序读取并删除文件,并且在运行时使用 FSEvents 来监视此目录是否有新文件到达。

有没有更简单或更好的方法来做到这一点?

最佳答案

从 Lion 开始,执行此操作的现代方法是使用 XPC。不幸的是,没有很好的文档说明它;有a broad overview in the Daemons and Services guidea primitive HeaderDoc-generated reference ,但了解它的最佳方法是观看 last year's WWDC sessions 中有关它的 session 。 .

使用 XPC,您不必担心保持序列号连续、必须争夺旋转磁盘或是否有足够的磁盘空间。事实上,您甚至根本不需要生成和解析 JSON 数据,因为 XPC 的通信机制是围绕 JSON 式/plist 式容器和值对象构建的。

关于macos - Mac OS X 上的异步应用程序间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288379/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com