Как использовать семафор, если я хочу обратиться к конкретному процессу, чтобы начать работуLinux

Anonymous
Как использовать семафор, если я хочу обратиться к конкретному процессу, чтобы начать работу

Сообщение Anonymous »

Итак, я знаю некоторую теорию семафоров, но понятия не имею, как на практике ее использовать.
Если бы кто-то мог помочь мне понять это в этом примере задачи, я бы благодарен.
Теперь давайте иметь 2 рабочих (как будто они выполняют какую-то работу) процесса и 4 результирующих (которые что-то делают и печатают результат) процесса, которые работают с разными данными (все они созданы pthread_create, многопоточность). Теперь рабочие процессы по очереди выбирают случайным образом один результирующий процесс и изменяют данные, с которыми он (результирующий процесс) работает. И только этот выбранный результирующий процесс печатает свои результаты и «сигнализирует» им о необходимости повторного выбора. И так повторяется.
Я планирую использовать 2 семафора: один для работы, другой для результирующих процессов.
Мне интересно, как мне, с семафором укажите, какой процесс должен выполнять свою работу, если я использую функции sem_post и sem_wait.
Я читал об этих функциях на веб-сайте открытой группы, просто чтобы попытаться немного их понять. лучше, но я все еще в замешательстве.
Да, я делаю это в Linux.
Прошу прощения за что-то непонятное, английский не мой родной язык

Подробнее здесь: https://stackoverflow.com/questions/784 ... rt-working

Вернуться в «Linux»