Aplikacje klienckie- przesyłanie danych między wątkami

0

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

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1