ОС1/Модификације септембар 2024
< ОС1
Пређи на навигацију
Пређи на претрагу
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 uparivanje.
- 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.