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

[Multithreading] Wykonywanie wątków

Ostatnio zmodyfikowano 2017-04-14 21:27
Autor Wiadomość
Kinexity
Temat założony przez niniejszego użytkownika
[Multithreading] Wykonywanie wątków
» 2017-04-12 22:04:18
Witam wszystkich czytających ten post!

W moim programie chciałbym osiągnąć następujący efekt: wymaga on, by na przemian wykonywały się w wielu wątkach różne akcje w przybliżeniu zgodnie z poniższym schematem:

funkcja1[0] funkcja1[1] funkcja1[2] funkcja1[3]
-----------------------------------------------
                 Synchronizacja
-----------------------------------------------
funkcja2[0] funkcja2[1] funkcja2[2] funkcja2[3]
-----------------------------------------------
                 Synchronizacja
-----------------------------------------------
funkcja1[0] funkcja1[1] funkcja1[2] funkcja1[3]
-----------------------------------------------
                 Synchronizacja
-----------------------------------------------
funkcja2[0] funkcja2[1] funkcja2[2] funkcja2[3]

Pytanie: Jeżeli chciałbym umieści wewnątrz wątków pętle (by uniknąć ich ciągłego tworzenia i niszczenia), to czy istnieje funkcja pozwalająca na wstrzymanie pętli lub wątku w oczekiwaniu na zdarzenie (np. zmianę wartości zmiennej typu bool)?

Jeżeli wyraziłem problem w sposób niejasny to napiszcie.
P-160089
pekfos
» 2017-04-13 00:49:40
A z jakiej biblioteki te wątki..? Najlepiej poczytaj dokumentację i dobierz sobie odpowiednie narzędzia. Zawsze jest coś do sterowania blokowaniem wątków.
P-160093
j23
» 2017-04-13 10:45:37
Pytanie: (...)
Odpowiedź: generalnie tak.
P-160098
Kinexity
Temat założony przez niniejszego użytkownika
» 2017-04-13 11:17:10
pefkos - korzystam ze standardowej <thread>
j23 - jeżeli generalnie tak to czy mógłbym prosić o podzielenie się wiedzą?
P-160099
karambaHZP
» 2017-04-13 11:56:23
P-160100
jankowalski25
» 2017-04-13 12:24:38
P-160101
j23
» 2017-04-13 13:57:36
@Kinexity, jeśli chodzi o <thread>, to masz np. condition_variable lub bardziej siermiężnie std::atomic (albo std::atomic_flag) + pętla z sleep_for.
P-160103
Kinexity
Temat założony przez niniejszego użytkownika
» 2017-04-14 21:27:16
Dzięki wszystkim za pomoc.
P-160134
« 1 »
  Strona 1 z 1