не-пользовательский цикл событий, который может ожидать закрытия последнего окна пользовательского интерфейса

Я работаю над небольшой платформой для кроссплатформенных приложений (конечно, для академических целей), и она должна изящно обрабатывать программы не-UI и UI. В настоящее время я изучаю, возможно ли наличие сообщения ОС / цикла событий для каждого окна. На данный момент мне все равно, хорошая ли это идея, просто если это вообще возможно.

Теперь в Windows, хотя я бы назвал WinMain, программа без пользовательского интерфейса (без окон) все еще может работать через цикл сообщений. В этом случае основной поток обрабатывает все сообщения, для которых для параметра HWND задано значение nullptr (сообщения, не отправленные в конкретное окно), и каждое окно живет в своем собственном потоке, а его собственный wndproc вызывается в своем собственном цикле сообщений.

Я полагаю, что подобная установка должна быть возможной в X11, используя xcb_connection_t для потока (и, следовательно, для окна). Предполагая, что это правильно, что было бы хорошим способом обработки «основного» потока, не являющегося пользовательским интерфейсом? Если он ничего не делает, программа немедленно завершает работу, независимо от того, сколько других потоков выполняет свои циклы событий X. Я хотел бы оставить эту часть Х бесплатной. Я читал о паузе, sigsuspend и т. Д. Но я не уверен, что они лучше всего подходят для этой несколько простой цели.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector