gpt4 book ai didi

posix - System V IPC 与 POSIX IPC

转载 作者:行者123 更新时间:2023-12-02 06:59:56 41 4
gpt4 key购买 nike

  1. System V IPCPOSIX IPC 之间有什么区别?
  2. 为什么我们有两个标准?
  3. 如何决定使用哪些 IPC 函数?

最佳答案

两者都有相同的基本工具——信号量、共享内存和消息队列。它们提供的界面与这些工具略有不同,但基本概念是相同的。一个显着的区别是 POSIX 为消息队列提供了一些 Sys V 没有的通知功能。 (请参阅mq_notify()。)

Sys V IPC 已经存在了很长时间,这具有一些实际意义 --

首先,POSIX IPC 的实现不太广泛。我为 POSIX IPC 编写了一个 Python 包装器和 its documentation lists what I know about POSIX IPC implementations on various platforms .

在该文档中列出的所有平台上,据我所知,Sys V IPC 已完全实现,而您可以看到 POSIX IPC 并未实现。

它们相对年龄的第二个含义是,POSIX IPC 是在 Sys V IPC 使用一段时间后设计的。因此,POSIX API 的设计者能够学习 Sys V API 的优点和缺点。因此 POSIX API 更简单在我看来,更容易使用,我推荐它而不是 Sys V API。

我应该注意,我从未运行过任何性能测试来比较两者。我认为旧的 API (Sys V) 会有更多时间进行性能调整,但这只是猜测,当然不能替代现实世界的测试。

至于为什么有两个标准——POSIX 创建了他们的标准,因为他们认为这是对 Sys V 标准的改进。但如果每个人都认为 POSIX IPC 更好,那么许多程序仍然使用 Sys V IPC,并且将它们全部移植到 POSIX IPC 需要数年时间。在实践中,这是不值得的,因此即使从明天开始所有新代码都使用 POSIX IPC,Sys V IPC 也会保留很多年。

在不了解您打算做什么的情况下,我们无法告诉您应该使用哪一个,但您此处的答案应该为您提供足够的信息来自行决定。

关于posix - System V IPC 与 POSIX IPC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4582968/

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