Модель потоков D-шины

Я начинаю использовать D-шину в качестве механизма IPC для нового проекта в Linux/KDE. И я обнаружил, что документация действительно не обращается к параллелизму вообще. Как D-автобусные-сообщения, как ожидают, будут иметь дело с несколькими параллельными вызовами, входящими от различных клиентов? Какова модель потоков? Сервис может предположить, что это является однопоточным, и D-шина будет стоять в очереди запросы самостоятельно?

9
задан Rob H 2 January 2010 в 10:43
поделиться

1 ответ

Как протокол, D-Bus не устраняет резьбу.

D-Bus Connections Получает сообщение серийно. На уровне протокола ответы на сообщение Asynchronous: I.e. Отправитель не должен ждать ответов перед отправкой дополнительных сообщений.

В принципе в принципе реализация D-автобуса может одновременно отправлять сообщения для обновления реализаций, я не знаю ни о чем это сделать.

Как правило, реализация D-шины (или «привязка», если вы будете), позволяет услугу решить для каждого метода (или даже для каждого вызова метода), следует ли реагировать на метод входящего метода синхронно или асинхронно. Детали этого до определенной реализации, которую вы используете.

Если вы реагируете на метод вызовы асинхронно, ваша служба реализация отвечает за то, что любое состояние сохраняется в соответствии с учетом того, что несколько ответов находятся в ожидании. Если вы всегда отвечаете синхронно, вы знаете, что вы имеете дело только с одним вызовом метода одновременно.

5
ответ дан 3 November 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: