ОС1/Модификације септембар 2021
< ОС1
Пређи на навигацију
Пређи на претрагу
Следеће модификације су се појавиле на одбрани пројекта у септембарском року 2021.
20 поена
- У класи Тхреад додати статичку методу
void waitForAll()која блокира позивајућу нит док год се све нити које су иницијализоване а нису стартоване не заврше. - Направити следећи тест пример:
- Прави се 10 нити Радник
- Прави се нит Шеф и стартује се
- По један радник се стартује сигналом дугмета на тастатури (један се стартује кад се дугме пристисне и још један се стартује при отпуштању дугмета)
- Радник треба да:
- Напише
Radnik <threadID> started. - 5 пута напише
Radnik <threadID>и помоћу сопственог семафора спава од 50мс до 1000мс измедју итерацјиа. - Напише
Radnik <threadID> ended.
- Напише
- Шеф треба да:
- Напише
Sef started. - Позове методу
void waitForAll(). - Напише
Sef ended.
- Напише
Правилан испис треба да испише Sef ended тек након завршетка свих радника.
30 поена
- У класи Тхреад додати методу (није било наглашено да ли је статичка или не)
int fork_n(int n, int* pids)којаfork()ује нитnпута и ПИД-ове форковоаних нити смешта уpids(повратна вредност исто није била специфицирана).
- Направити следећи тест пример:
- Прави се 5 нити помоцу
int fork_n(int n, int* pids)које од 3 до 10 пута треба да испишуThread <threadID> : iter <trenutna iteracija> / <ukupno iteracija>/ - Једном се исписују ПИД-ови форкованих нити.
- Прави се 5 нити помоцу