Jak rozwiązać problem przesyłania informacji między wątkami? Np mam wątek główny i wątek drugi, w którym chciałbym wykonywać wszystkie operacje sieciowe (żeby się interfejs nie zacinał). I teraz użytkownik klika w button połączenia- startuje wątek drugi, gdzie na początku łączę się z serwerem. Później klika w inny button, po czym muszę coś wysłać do serwera. Jak o tym drugim naciśnięciu poinformować drugi wątek?
0
0
Jeśli miałoby to być tylko w jedną stronę, klik->send to możesz w wątku wysyłającym czekać na zwolnienie muteksu:
pseudokod:
start_wątku
połączenie
w_pętli
podnieś_muteks
wyślij
A pod przycisk podpinasz pobieranie danych i opuszczenie muteksu. Wiadomość trzymasz w pamięci współdzielonej przez oba wątki.
Oczywiście na starcie muteks musi być podniesiony, żeby nic nie próbować wysłać przy starcie wątku.
Komunikacja w dwie strony będzie już nieco bardziej złożona, ale pamięć współdzielona i muteksy spokojnie do tego wystarczą. Ewentualnie pipe.