Сообщение Re: Unix аналог цикла сообщений Windows от 04.01.2025 9:32
Изменено 04.01.2025 9:34 kov_serg
Re: Unix аналог цикла сообщений Windows
Здравствуйте, AlexGin, Вы писали:
AG>PostThreadMessage
AG>https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-postthreadmessagea
AG>Вот как в потоке исполнения "принять" это сообщение:
AG>
AG>https://www.codeproject.com/Articles/225755/PostThreadMessage-Demystified
AG>Мог ли бы кто-нибудь подсказать мне — что же в Unix (Linux) системах соответствует всему вышеперечисленному?
А если просто межпроцессорное взаимодействие то https://tldp.org/LDP/tlk/ipc/ipc.html
Но своему потоку можно кучей способов отправлять сообщения, у вас же есть мутексы семафоры и другие механизмы синхронизации.
Но если хочетмя System V message queue то вас никто не останавливает
AG>PostThreadMessage
AG>https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-postthreadmessagea
AG>Вот как в потоке исполнения "принять" это сообщение:
AG>
AG> MSG msg;
AG> while(GetMessage(&msg,0,0,0))
AG> {
AG> if(msg.message == WM_APP+1)
AG> {
AG> MessageBoxA(NULL,"Hello","From Thread",MB_OK);
AG> }
AG> DispatchMessage(&msg);
AG> }
AG>AG>https://www.codeproject.com/Articles/225755/PostThreadMessage-Demystified
AG>Мог ли бы кто-нибудь подсказать мне — что же в Unix (Linux) системах соответствует всему вышеперечисленному?
Display* display;
XEvent event[1];
int quited=0;
...
while(!quited) {
XNextEvent(display,event);
switch(event.type) {
...
}
}https://tronche.com/gui/x/xlib/А если просто межпроцессорное взаимодействие то https://tldp.org/LDP/tlk/ipc/ipc.html
Но своему потоку можно кучей способов отправлять сообщения, у вас же есть мутексы семафоры и другие механизмы синхронизации.
Но если хочетмя System V message queue то вас никто не останавливает
Re: Unix аналог цикла сообщений Windows
Здравствуйте, AlexGin, Вы писали:
AG>PostThreadMessage
AG>https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-postthreadmessagea
AG>Вот как в потоке исполнения "принять" это сообщение:
AG>
AG>https://www.codeproject.com/Articles/225755/PostThreadMessage-Demystified
AG>Мог ли бы кто-нибудь подсказать мне — что же в Unix (Linux) системах соответствует всему вышеперечисленному?
А если просто межпроцессорное взаимодействие то https://tldp.org/LDP/tlk/ipc/ipc.html
Но своему потоку можно кучей способов отправлять сообщения, у вас же есть мутексы семафоры и другие механизмы синхронизации.
Но если хочетмя System V message queue то вас никто не останавливает
AG>PostThreadMessage
AG>https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-postthreadmessagea
AG>Вот как в потоке исполнения "принять" это сообщение:
AG>
AG> MSG msg;
AG> while(GetMessage(&msg,0,0,0))
AG> {
AG> if(msg.message == WM_APP+1)
AG> {
AG> MessageBoxA(NULL,"Hello","From Thread",MB_OK);
AG> }
AG> DispatchMessage(&msg);
AG> }
AG>AG>https://www.codeproject.com/Articles/225755/PostThreadMessage-Demystified
AG>Мог ли бы кто-нибудь подсказать мне — что же в Unix (Linux) системах соответствует всему вышеперечисленному?
Display* display;
XEvent event[1];
int quited=0;
...
while(!quited) {
XNextEvent(display,event);
switch(event->type) {
...
}
}https://tronche.com/gui/x/xlib/А если просто межпроцессорное взаимодействие то https://tldp.org/LDP/tlk/ipc/ipc.html
Но своему потоку можно кучей способов отправлять сообщения, у вас же есть мутексы семафоры и другие механизмы синхронизации.
Но если хочетмя System V message queue то вас никто не останавливает