В одном из классов нам приходилось использовать семафоры для выполнения работы с потоками. Прототип (и заголовочный файл) sem_init выглядит так:
int sem_init(sem_t *sem, int pshared, unsigned int value);
но я не понимаю, для чего используется переменная value. Согласно opengroup.org:
value - это начальное значение для установки семафора
"value - это значение...". Как это может помочь, для чего она используется?