Neka je dat unapred poznat broj predmeta(flaša) N. Napisati C program koji pomoću pthread biblioteke simulira rad 3 niti. Prve 2 niti uzimaju jedan po jedan predmet(flašu) i svaka obrađuje preuzeti predmet nezavisno, u dužini t1, odnosno t2. Nakon što završe jedan predmet, preuzimaju sledeći. Predmeti su numerisani rednim brojevima. Kada na red dođe predmet (flaša) čiji je broj deljiv sa 5 (5, 10, 15,…) tada obradu tog predmeta preuzima 3-ća nit. Obrada predmeta od strane 3-će niti traje t3. Ako su i ostale 2 niti završile svoje predmete dok treća obađuje svoj, ne smeju da uzimaju dalje predmete na obradu. Tek kad 3-ća nit završi svoj posao, ostale 2 niti mogu da nastave. 3-ća nit miruje, dok ostale 2 niti obrađuju predmete do sledećg čiji je redni broj deljiv sa 5. Program dok radi treba da ispisuje poruke koja je nit u kom trenutku preuzela koji predmet na obradu. Program prestaje sa radom kada se potroše svi predmeti.
Domaći zadatak
Potrebno je napisati C program koji korišćenjem pthread niti simulira procesiranje prometa filijala. Program startuje 2 niti. Svaka od niti učitava promet iz pridruženih datoteka f0.txt i f1.txt. Datoteke su tekstualne i svaka linija je formata:
id iznos
gde je id 0 ili 1 i označava identitet klijenta, a iznos je ceo broj i označava promet za datog klijenta u datoj filijali. Početno stanje svakog klijenta je 0.