OS1/Modifikacije predrok 2020

Izvor: SI Wiki
< ОС1
Datum izmene: 4. jul 2021. u 23:59; autor: TopOfKeks (razgovor | doprinosi) (Нова страница: {{tocright}} {{нерешено}} Следеће модификације су се појавиле на одбрани пројекта у предроку 2020. ==…)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu
Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Sledeće modifikacije su se pojavile na odbrani projekta u predroku 2020.

20 poena

  • Proširiti klasu Semaphore nestatičkom funkcijom turnOnPriorities koja na tom semaforu uvodi prioritetni signal nakon što se pozove ta funkcija (ponašanje kao fleg).
  • Prioritetni signal treba da uvek odblokira niti po ID niti u rastućem poretku, a ne po dosadašnjem redosledu koji je implementiran.
  • Dodati sledeće ispise u metodama wait i signal: signal treba da kaže koji je ID koja ga je pozvala; wait treba da kaže koji je ID koja ga je pozvala i da li će se blokirati na tom semaforu.
  • Napisati test za ovu funkcionalnost:
    • Napraviti 50 niti koje ciklično rade sledeće:
    • Semafor sem kome su uključeni prioriteti i kome je vrednost 10 puta manja od broja niti (u ovom slučaju 5) čeka;
    • Ispisuje se "Ušao u kritičnu sekciju";
    • Nekim drugim semaforom se simulira spavanje niti za nasumično vreme;
    • Semafor sem signalira;
    • Ispisuje se "Izašao iz kritične sekcije".