JAVA Współbieżne przeszukiwaniu dwuwymiarowej tablicy

Zleceniodawca
Andrzej
Andrzej
Opis

Opis zlecenia

Zadanie polega na współbieżnym przeszukiwaniu dwuwymiarowej tablicy liczb całkowitych w celu znalezienia sąsiednich par komórek, których wartości sumują się do określonej liczby \(X\). Po znalezieniu takiej pary program ma wpisać \(0\) w miejsce wartości tych komórek, jednocześnie rejestrując ich pozycje.

### Kluczowe wymagania:

1.⁠ ⁠*Współbieżność*:

- Kilka wątków do odczytu, jeden wątek do zapisu.

- Wątki odczytujące muszą działać równocześnie, przetwarzając różne obszary tablicy.

- Wątek zapisujący działa wyłącznie, gdy są dostępne dane do modyfikacji.

2.⁠ ⁠*Reguły działania*:

- Nie można czytać tej samej pozycji wielokrotnie.

- Operacje odczytu i zapisu nie mogą kolidować na tych samych pozycjach.

- Przetwarzanie musi odbywać się na bieżąco – znalezione pary muszą być natychmiast zastępowane zerami.

3.⁠ ⁠*Struktura i wynik*:

- Program musi równomiernie rozłożyć obciążenie między wątki.

- Praca wątków ma rozpocząć się po wywołaniu metody ⁠ start ⁠.

- Wynik (zbiory par pozycji) musi być dostępny po zakończeniu pracy wątków.

- Po zwróceniu wyniku program nie może wykonywać żadnych operacji na tablicy.

4.⁠ ⁠*Dodatkowe warunki*:

- Startowe pozycje dla wątków będą oddalone od siebie.

- Gwarantowane jest istnienie co najmniej jednej poprawnej pary pozycji.

Rozwiązanie należy zaimplementować w klasie ⁠ ParallelExplorer ⁠, która ma implementować interfejs ⁠ Explorer ⁠.

Opublikowano
2025-01-22
Kategoria

Wysłane oferty (4)

Budżet
Do negocjacji
Prawa autorskie
-
Ważne przez
30 dni

Najnowsze zlecenia z kategorii