首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D-Bus线程模型

D-Bus线程模型
EN

Stack Overflow用户
提问于 2010-01-03 04:43:17
回答 1查看 1.8K关注 0票数 12

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-03 10:38:05

作为一种协议,D-Bus并不解决线程问题。

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

虽然原则上D-Bus实现可以并发地将消息分派到服务实现,但我不知道有任何这样做的实现。

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

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

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1992777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档