Информация об изменениях

Сообщение Re: Unix аналог цикла сообщений Windows от 07.01.2025 19:27

Изменено 07.01.2025 19:37 Conductor

Re: Unix аналог цикла сообщений Windows
Здравствуйте, AlexGin, Вы писали:

AG>Мог ли бы кто-нибудь подсказать мне — что же в Unix (Linux) системах соответствует всему вышеперечисленному?


Ну, насколько я понимаю, такие вопросы возникают при портировании win-кода, где прокачка сообщений использовалась для того, чтобы не морозить GUI-поток (типа повесили окно с а-ля "Выполняется длительная операция...", и либо ждём, периодически прокачивая сообщения, пока другой поток завершит работу, либо в этом же потоке между прокачками сообщений выполняем некую затратную по времени работу).
Реализация аналога зависит от того, что используется в программе. Чем мы заткнули: если Qt — вообще без проблем (варианты: QCoreApplication::processEvents(), QMetaObject::invokeMethod()), если без Qt — asio.
Re: Unix аналог цикла сообщений Windows
Здравствуйте, AlexGin, Вы писали:

AG>Мог ли бы кто-нибудь подсказать мне — что же в Unix (Linux) системах соответствует всему вышеперечисленному?


Ну, насколько я понимаю, такие вопросы возникают при портировании win-кода, где прокачка сообщений использовалась для того, чтобы не морозить GUI-поток (типа повесили окно с а-ля "Выполняется длительная операция...", и либо ждём, периодически прокачивая сообщения, пока другой поток завершит работу, либо в этом же потоке между прокачками сообщений выполняем некую затратную по времени работу).
Реализация аналога зависит от того, что используется в программе. Чем мы заткнули: если Qt — вообще без проблем (варианты: QCoreApplication::processEvents(), QMetaObject::invokeMethod()), если без Qt — asio. (Ну а если с gstreamer'ом работа, то GstBus.)