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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
#1

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

01.01.2014, 17:10. Просмотров 452. Ответов 6
Метки нет (Все метки)

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

C++ Парадокс: значение переменной равно её адресу
C++ Выполнение цикла до тех пор, пока не будет нажата определенная клавиша
C++ Алгоритм реализуемый с помощью вложенных циклов типа ПОКА
C++ Чему равно значение d в следующем перечислении: еnum { а, b=3, с=5, d };
C++ Напишите структуру switch, которая выполняет следуя действия как что значение переменной grade равно:
Вводить числа, пока не введен 0, найти мининимальное значение C++
C++ Вычислить значение y с помощью стандартной функции и с помощью ряда с точностью 0,0001
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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++ Чему будет равно значение выражения после выполнения операторов?
C++ С помощью цикла do while организовать вычитание, пока не будет достигнута заданная точность.
Выполнение функции, пока не будет нажата любая кнопка C++
C++ Вывести элементы массива, значение которых будет равно их индексу
C++ Минимальное значение в векторе равно 0

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

Или воспользуйтесь поиском по форуму:
танкист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
Ответ Создать тему
Опции темы

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