Re[2]: Unix аналог цикла сообщений Windows
От: AlexGin Беларусь  
Дата: 09.01.25 05:18
Оценка:
Здравствуйте, Conductor, Вы писали:

C>Ну, насколько я понимаю, такие вопросы возникают при портировании win-кода,

+100500

C>где прокачка сообщений использовалась для того, чтобы не морозить GUI-поток (типа повесили окно с а-ля "Выполняется длительная операция...", и либо ждём, периодически прокачивая сообщения, пока другой поток завершит работу, либо в этом же потоке между прокачками сообщений выполняем некую затратную по времени работу).

C>Реализация аналога зависит от того, что используется в программе. Чем мы заткнули: если Qt — вообще без проблем (варианты: QCoreApplication::processEvents(), QMetaObject::invokeMethod()), если без Qt — asio. (Ну а если с gstreamer'ом работа, то GstBus.)

Да, в Qt проблем нет: там есть всё, что ты указал — да и просто connect с постановкой сообщения в очередь: Qt::QueuedConnection.
Меня интересует вариант именно тогда, когда без Qt.

Что применять в этом случае? Возможно, есть современное решение?

Тянуть с собой громоздзкий boost — ИМХО так себе идея.

P.S. Когда-то много пользовался boost-ом, но теперь — не вижу смысла к нему прибегать.
Тем более, если нам нужно просто asio.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.