Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

wątki _beginthread zdarzenia i sekcje krytyczne

Ostatnio zmodyfikowano 2017-04-19 14:35
Autor Wiadomość
zolty13
Temat założony przez niniejszego użytkownika
wątki _beginthread zdarzenia i sekcje krytyczne
» 2017-04-17 15:07:50
Hej mam do was pytanie w kontekście tego artykułu: http://cpp0x.pl/kursy/Kurs-WinAPI-C++/Zaawansowane/Watki/337.
Jak za pomocą tych bibliotek wymusić przerwanie wątku? Potrzebuje tego do swojego programu, który tworzy 2 watki, które przeszukują równolegle kopiec. Jako że funkcja będąca w wątku nie może zwracać wartości to muszę używać pola w klasie kopiec, które trzyma wynik. Problem w tym, że gdy jeden wątek już znajdzie, drugi dalej szuka i czasem może stać się tak że zamieni wartość tego pola zanim zdążę się do niego dostać na zewnątrz. ( Jest tam sekcja krytyczna, która zabrania 2 wątkom na raz modyfikować pole (wspólnego) obiektu) Jednak nie wiem jak wpłynąć na to żeby 2 wątek nie nadpisywał danych. Próbuję wymyślić coś ze zdarzeniami, ale brakuje mi jakiegoś wzorca projektowego żeby dobrze to wymyślić. Bo chiałem zrobić tak że wątek któy pierwszy znajdzie szukaną liczbe - klucz ustawi zdarzenie tak żeby drugi już nie mógł tego zrobić w sekcji krytycznej. Problem w tym że wtedy ten 2 wątek będzie wisieć i się nie skończy.
P-160204
DejaVu
» 2017-04-18 16:45:33
Lepiej użyj std::thread - to jest znacznie lepsze rozwiązanie, ponieważ kod będzie działał na Windowsie i Linuxie. Przerywać wątku nie musisz. Każdy wątek po prostu ma zrobić swoje.
P-160248
zolty13
Temat założony przez niniejszego użytkownika
» 2017-04-19 14:35:27
mhm to zmiencie to w kursie :D, bo w tym artykule pisze ze ta metoda jest zalecana :D dzieki
P-160277
« 1 »
  Strona 1 z 1