Prześle swoją korespondecję z prowadzącym może to wiele wyjaśni :)
byłem pewien, że już Panu odpowiedziałem. Przepraszam. Temat nie jest do końca dobry. Co z synchronizacją? Do przemieszczania rybek przydatny będzie jeden mutex na "mapę". Wtedy wszystkie kolizje rybek odbywają się przy poruszania, więc związany jest z nimi ten sam mutex. Kolizja z akwarium jako takim nawet nie wymaga zasobu (bo ściany akwarium nie są zasobem, w przeciwieństwie do miejsca), a jeśli nawet to dalej obsługuje to ten sam mutex.
Reasumując. W takiej wersji będzie Pan miał tylko jeden zasób. A ponieważ walczą o niego tylko i wyłącznie rybki, to tak naprawdę z tym zasobem związana będzie tylko jedna sekcja krytyczna.
To jest za mało. Musi Pan wymyślić coś, żeby był jeszcze co najmniej jeden zasób, tak by potrzeba było więcej mutexów. Może Pan spróbować z jedzeniem, ale tutaj może Panu wyjść, że dalej daje się to zrobić tym samym mutexem, który służy do poruszania.
Wysyłam ponownie, czy można byłoby się dowiedzieć czy poniższy temat byłby przyjęty?
Przesyłam opis projektu, który chciałbym zrealizować na wątkach:
Byłaby to symulacja akwarium, w którym pływałoby kilka rybek każda by miała swoją prędkość swoją losową trasę oraz losowy punkt startowy. Do tego rybki by miały obsługę zderzeń z akwarium i ze sobą. Wizualizacja w konsoli :)