gpt4 book ai didi

linux - D-Bus线程模型

转载 作者:IT王子 更新时间:2023-10-29 00:14:21 26 4
gpt4 key购买 nike

我开始使用 D-Bus作为 Linux/KDE 中新项目的 IPC 机制。而且我发现该文档根本没有真正解决并发问题。 D-Bus 服务如何处理来自不同客户端的多个并发调用?什么是线程模型?服务是否可以假设它是单线程的并且 D-Bus 会自行排队请求?

最佳答案

作为一种协议(protocol),D-Bus 不涉及线程。

D-Bus 连接串行接收消息。在协议(protocol)级别,对消息的回复是异步的:即发送方不必在发送更多消息之前等待回复。

虽然原则上 D-Bus 实现可以同时向服务实现发送消息,但我不知道有任何这样做的。

通常,D-Bus 实现(或“绑定(bind)”,如果您愿意)允许服务为每个方法(甚至每个方法调用)决定是同步还是异步响应传入的方法调用。这方面的细节取决于您使用的特定实现。

如果您异步响应方法调用,则您的服务实现负责确保在多个响应未决时任何状态保持一致。如果您总是同步响应,那么您就知道您一次只处理一个方法调用。

关于linux - D-Bus线程模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992777/

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