У меня около 10 объектов. Каждый объект разного класса. Запросы, отправляемые этим объектам (вызовы методов с возвращаемыми значениями), поступают из разных потоков.
Мне нужно синхронизировать эти вызовы методов, которые должны выполняться только по одному за раз. Некоторые запросы имеют более высокий приоритет, чем другие. Это означает, что если имеется больше запросов, ожидающих выполнения, и отправляется еще один - с более высоким приоритетом, чем любой другой, ожидающий выполнения, он будет выполнен как следующий.
Я не знаю, как решить эту проблему на C++. Я думал о шаблоне Command, но для этого потребовалось бы много «ручного» кодирования. Мне пришлось бы преобразовать каждый вызов метода в объект команды. И проблема с возвращаемым значением. У кого-нибудь есть идея, какой шаблон можно использовать здесь?