semaphore s2; semaphore s; const int N = 5; int buffer[N]; int write_pos = 0; int read_pos = 0; void queue_add(int item) { buffer[write_pos] = item; write_pos = (write_pos + 1) % N; } int queue_get() { int item; item = buffer[read_pos]; read_pos = (read_pos + 1) % N; return item; } void prod(int i, int n){ int cnt = 1; for(i; i <= n; i=i+1){ wait(s2); queue_add(cnt); cnt = cnt +1; signal(s); } } void kons(int n){ int i = 0; int liczba; for(i = 0; i < n; i = i+1){ wait(s); liczba = queue_get(); signal(s2); cout << "Pobralem" <