Symulacja ruchu - program współbieżny

Symulacja ruchu - program współbieżny
DA
  • Rejestracja:około 14 lat
  • Ostatnio:prawie 11 lat
  • Postów:24
0

Witam otrzymałem taki oto projekt Symulacja ruchu tramwajów i samochodów na rondzie:
Podstawowe wymagania:
a) liczba procesów sekwencyjnych powinna być dobrana z wyczuciem tak, aby zachować czytelność interfejsu i
jednocześnie umożliwić zobrazowanie reprezentatywnych przykładów,
b) kod źródłowy programu musi być tak skonstruowany, aby można było „swobodnie” modyfikować liczbę
procesów sekwencyjnych (za wyjątkiem zadań o ściśle określonej liczbie procesów),
c) obok poprawnej identyfikacji sekcji krytycznych program musi brać pod uwagę czytelność
i estetykę interfejsu użytkownika oraz zdolność percepcji osoby oceniającej,
d) obowiązuje zakaz konstrukcji interfejsu na zasadzie wypisywania kolejnych linii na ekran,
e) dodatkowo, ekran także jest współdzielonym zasobem i w tym celu:

  • program zawiera dedykowane zadanie (task) wypisujące komunikaty na ekranie, z którym pozostałe zadania
    odbywają spotkanie w celu wypisania odpowiedniego komunikatu,

I mam z tym parę pytań i problemów :

  1. jak zsynchronizować wątek rysowania pkt e z wątkami tramwajów i samochodów. Proszę wskazać z czego skorzystać? Bo miałem pare pomysłów ale każdy bezsensu.
  2. czy każdy kawałek wyświetlanego ekranu będzie osobną sekcją krytyczną
  3. jeżeli miałby ktoś chęć to prosiłbym o wytłumaczenie jak wg niego mógłbym się za to zabrać.

Pozdrawiam i dziękuję za każda pomoc

Antoniossss
  • Rejestracja:prawie 16 lat
  • Ostatnio:ponad 10 lat
0

Jestem za głupi na takie zadani i nie mam pojęcia co to właściwie chcesz zrobić :D
no ale jak chodzi o synchronizacje wątków to albo semaphore (google it!) albo stare dobre join(), wait() i notify() (google on oracle's docs for it) :)


www.toptraker.pl
TopTraker! - I wiesz co jest grane!
Mój własny projekt w Javie - najnowsza wersja już jest!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.