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

С под Linux

Войти
Регистрация
Восстановить пароль
 
voleg31
0 / 0 / 0
Регистрация: 04.12.2015
Сообщений: 9
#1

Три процесса и один семафор - C Linux

22.12.2016, 23:39. Просмотров 334. Ответов 2
Метки нет (Все метки)

а вот как одним system v семафором три процесса разрулить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2016, 23:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Три процесса и один семафор (C Linux):

Возможно ли запустить три процесса через один сокет? - C Linux
Скажите, пожалуста, если я организую передачу данных по одному сокету с клиента на сервер, то в этом могут участвовать только два процесса,...

Разработать три процесса: процесс-сервер и два процесса-клиента - C Linux
Требуется разработать три процесса, запускаемые из командной строки UNIX: процесс-сервер, запускаемый в оперативном режиме, и два...

Передача числа через семафор - C Linux
Доброго времени суток. создаем именованный семафор, открываем его и инициализируем char semname="mysemaphore"; sem_t* s1 =...

Найдите за один проход по массиву три его различных элемента,которые меньше всех остальных(три минимума) - Pascal ABC
const n=10; type myarray=array of integer; var a:myarray; m,k:integer; function minimum (m:myarray):integer; var i,min:integer; ...

Как завершить сразу три процесса - Visual Basic .NET
Всем привет! :) Я тут новенький! 8-) Не подскажите код чтобы убить сразу 3 процесса на нажатии на кнопку ну или хотя бы 1 процесс!...

Реализовать программу, в которой три процесса: Отец, сын и внук - C (СИ)
Здравствуйте! Помогите пожалуйста, уже мучаюсь целых 2 дня!!! необходимо реализовать программу, в которой три процесса: Отец, сын и внук....

2
drfaust
261 / 152 / 37
Регистрация: 02.10.2008
Сообщений: 569
Записей в блоге: 1
Завершенные тесты: 1
23.12.2016, 13:45 #2
sem_post() - увеличиваем семафор на 1цу
sem_getvalue() - получаем значение семафора, и в зависимости от ентого семафора каждый из процессов решает чё делать дальше.
sem_wait() - уменьшение семафора.

Например общий папаша закидывает в семафор 17 post`ов, порождает двух детей, и те начинают уменьшать wait`ами семафор только в том случае если он удовлетворяет к-либо своему условию(например для одного потомка чётное значение sem_getvalue, а для другого нечётное). Это так, тупенький пример работы 3х процессов с одним семафором.
0
voleg31
0 / 0 / 0
Регистрация: 04.12.2015
Сообщений: 9
23.12.2016, 14:52  [ТС] #3
ну то понятно, а вот классику жанра например - два потомка пишут, предок читает по мере возможности, усё енто деется параллельно, из доступных средств поражениясинхронизации один маленький sys v семафорчик. не соображу никак
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2016, 14:52
Привет! Вот еще темы с ответами:

Синхронизировать три нити одного процесса с помощью оператор lock - C#
Синхронизировать три нити одного процесса с помощью оператор lock. Каждая нить поочередно формирует и печатает три числа a, b и c. Числа...

Синхронизировать три нити одного процесса с помощью оператора lock - C#
Синхронизировать три нити одного процесса с помощью оператора lock. Каждая нить формирует 5 чисел для одноименной строки...

Синхронизировать три нити одного процесса с помощью глобальных переменных - C#
Как можно сделать это задание ? Синхронизировать три нити одного процесса с помощью глобальных переменных. Первая нить выводит на экран...

В память процесса WriteProcessMemory записывает только один байт - C++ WinAPI
Есть код, с помощью которого можно писать в память процесса по адресу, но он пишет только первый байт, и то не понятно что. Помогите...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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