Mam 4 wątki - każdy z nich realizuje takie same zadania. Przyjmijmy, że każdy dodaje do siebie dwie liczby.
I do tego jeszcze 5 wątek (nazwijmy go wątek główny), który losowy wybiera jeden z 4 wątków i przesyła do wybranego dwie liczby, które należy do siebie dodać.
- Całość musi działać na zasadzie "eventów" - wątek główny wysyła powiadomienie do wybranego wątku, że należy do siebie dodać dwie liczby, czyli coś na zasadzie "pętla (śpij 100ms sprawdź czy nic nie ma)" odpada.
- Kod musi działać na różnych systemach operacyjnych.
- Może się tak zdarzyć, że dany wątek zanim obliczy sumę dwóch liczb, to już dostanie kolejne do obliczenia - nie może to blokować wątku głównego - wątek roboczy musi przyjąć żądanie i obsłużyć je asynchronicznie.
Czyli:
wątek główny
losowyWatek.oblicz(liczba1, liczba2)
losowyWatek.oblicz(liczba1, liczba2)
losowyWatek.oblicz(liczba1, liczba2)
losowyWatek.oblicz(liczba1, liczba2)
losowyWatek.oblicz(liczba1, liczba2)
wątek obliczeniowy
oblicz (liczba1, liczba2) {
asynchronicznie_oblicz(liczba1, liczba2)
}
asynchronicznie_oblicz(liczba1, liczba2) {
suma = liczba1 + liczba2
gdzies_tam_sobie_zapisz(suma)
}
jakieś rady jak to rozwiązać?
linki, przykłady whatever?