OS1/Modifikacije septembar 2024

Izvor: SI Wiki
< ОС1
Datum izmene: 29. septembar 2024. u 17:23; autor: Aleksa (razgovor | doprinosi) (Нова страница: {{tocright}} Sledeće modifikacije su se pojavile na odbrani projekta u septembru 2024. == Modifikacija za 20 bodova == Implementirati sve potrebne metode, sistemske pozive za implementaciju sinhronizacije niti. * C++ API: <code>static void Thread::pair(Thread* t1, Thread* t2)</code> Ova metoda uparuje niti prosleđene kao paramtere. Pretpostaviti da će svaka nit biti uparena sa tačno jednom niti. Takođe implementirati nestatičku metodu: * C++ API: <code>vo…)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu

Sledeće modifikacije su se pojavile na odbrani projekta u septembru 2024.

Modifikacija za 20 bodova

Implementirati sve potrebne metode, sistemske pozive za implementaciju sinhronizacije niti.

  • C++ API: static void Thread::pair(Thread* t1, Thread* t2)

Ova metoda uparuje niti prosleđene kao paramtere. Pretpostaviti da će svaka nit biti uparena sa tačno jednom niti.

Takođe implementirati nestatičku metodu:

  • C++ API: void Thread::sync()

koja vrši sinhronizaciju niti: - Ako je jedna nit pozvala ovu metodu, a druga ne, tekuća nit se blokira. - Kada druga nit pozove ovu metodu, obe niti mogu nastaviti izvršavanje. - Metoda se može pozvati proizvoljan broj puta.

Takođe obezebediti da svaka korisnička nit ima jedinstveni identifikator, počevši od 1.

Test

Bio je dat kostur onoga što nit treba da izvršava, a to je da se niti sinhronizuju u for petlji sa 3 iteracije. Trebalo je, po uzoru na ostale, dodati 8. test koji će imati run metode sa prilagođenim potpisom testa datim u postavci. Test je trebalo da testira samo C++ api.

Modifikacija za 30 bodova