Форум программистов, компьютерный форум CyberForum.ru

Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 - C++

Восстановить пароль Регистрация
 
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
01.01.2014, 17:10     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 #1
Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 ? необязательно единицы, можно любое число, это не принципиально. Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.01.2014, 17:10     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1
Посмотрите здесь:

C++ Выполнение цикла до тех пор, пока не будет нажата определенная клавиша
C++ Алгоритм реализуемый с помощью вложенных циклов типа ПОКА
C++ как реализовать условие больше или равно, меньше или равно для простых дробей в классе?
C++ Напишите структуру switch, которая выполняет следуя действия как что значение переменной grade равно:
Напишите программу, которая многократно запрашивает у пользователя пару чисел до тех пор, пока хотя бы одно из этой пары не будет равно 0 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Timur_CF
39 / 39 / 3
Регистрация: 12.12.2013
Сообщений: 227
Записей в блоге: 1
01.01.2014, 17:27     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 #2
А поточнее?
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
01.01.2014, 17:56  [ТС]     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 #3
Цитата Сообщение от Timur_CF Посмотреть сообщение
А поточнее?
ну что можно здесь поточнее сказать?
есть два процесса которые выполняют определнные задачи в цикле.
По достижению определенного количества итераций родительский процесс изменяет значение семафора и сам блокируется. Дочерний процесс начинает свою работу(до этого он был блокирован на семафоре).

И снова дочерний изменяет значение семафора, блокируется, а родительский разблокируется и так до бесконечности(или определенного момента)
Timur_CF
39 / 39 / 3
Регистрация: 12.12.2013
Сообщений: 227
Записей в блоге: 1
01.01.2014, 21:28     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 #4
Извините, возможно, туплю, но я пытаюсь понять, вы про процессы или про потоки?
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
01.01.2014, 21:53  [ТС]     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 #5
Цитата Сообщение от Timur_CF Посмотреть сообщение
Извините, возможно, туплю, но я пытаюсь понять, вы про процессы или про потоки?
я про процессы=))выше же написал, что процессы=))если вы засомневались, что они должны работать по очереди, то не сомневайтесь, это нужно для работы с сегментами общей памяти
буду благодарен за помощь
rrrFer
Заблокирован
01.01.2014, 21:53     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 #6
Цитата Сообщение от танкист34 Посмотреть сообщение
Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 ? необязательно единицы, можно любое число, это не принципиально. Спасибо
никак. Ты можешь "заблокировать ..." пока значение семафора меньше единицы.
Там есть операция над семафором, если это отрицательное число - то процесс модно блокировать пока значение семафора не станет больше или равно модулю этого числа.

Цитата Сообщение от Timur_CF Посмотреть сообщение
Извините, возможно, туплю, но я пытаюсь понять, вы про процессы или про потоки?
Где ты увидел слово "потоки"? - сам придумал и сам понять пытаешься?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2014, 21:59     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1
Еще ссылки по теме:

C++ Вычислить значение y с помощью стандартной функции и с помощью ряда с точностью 0,0001
C++ С помощью цикла do while организовать вычитание, пока не будет достигнута заданная точность.
Выполнение функции, пока не будет нажата любая кнопка C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
01.01.2014, 21:59  [ТС]     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 #7
rrrFer , буду думать, я что-то уже читал про это
Но когда прочитал вот про это у меня возникли сомнения:
Отрицательное значение поля sem_op предписывает уменьшить значение семафора на абсолютную величину sem_op. Операция не может быть успешно выполнена, если в результате получится отрицательное число.

а в другом источнике:
пока значение семафора S < n процесс блокируется.
Yandex
Объявления
01.01.2014, 21:59     Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1
Ответ Создать тему
Опции темы

Текущее время: 01:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru