QThread, synchronizacaj

QThread, synchronizacaj
MI
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:199
0

Cześć,
Założmy, że dla nowego połączenia biorę nowy wątek z puli i każe mu je przetwarzać. On sobie czyta bajty i tam z nimi coś robi. Załóżmy, że w tym momencie następuje przerwanie. Inny wątek otrzymuje nowe nowe połączenie. Tak się złożyło, że na tym samym sockecie. I teraz ten wątek ściągnie koledze dane.
Jeżeli znowu zostanie przydzielony kwant czasu naszemu pierwszemu wątkowi to nastąpi deadlock, bo tamten nie będzie miał co czytać.
Jak to rozwiązać?

kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:4 minuty
  • Lokalizacja:Szczecin
0

Bardzo wątpię, abyś potrzebował tutaj wątków. Masz sygnały, sloty i eventloopy. Używaj ich.


MI
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:199
0
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:4 minuty
  • Lokalizacja:Szczecin
0

Mniej więcej tak. To jest przykład jak ich używać.


Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.