Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 28
1

Подскажите как while заменить на wait?

11.05.2012, 09:42. Показов 1532. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите как while заменить на wait?

Там первый цикле while нужно заменить на wait. Как сделать подобную операцию, но ваит должен ждать разблокировки файла после else.
Помогите пожалуйста!!!

вот в этом:
C
1
while(lockf(file, F_TEST, 0) <0)
Как это организовать через wait???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2012, 09:42
Ответы с готовыми решениями:

Подскажите КАК сделать курсор мыши в WAIT для окошка?
Всем привет! Из апплета открывается окошко (Frame) мы там чтото вводим затем нажимаем кнопку и...

Java.lang.IllegalMonitorStateException: object not locked by thread before wait() при вызове метода wait()
Здравствуйте! На этот раз, у меня проблема с вызовом метода wait() в новом фоновом потоке....

Подскажите как мне заменить все а на я?
StringBuilder hello = new StringBuilder(&quot;Привет, меня зовут Николай&quot;, 120); ...

Подскажите, как заменить записи в колонке
Есть колонка `year` формат записи text (пример: 2000), а так же есть вторая колонка `One_Age`...

8
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
11.05.2012, 16:55 2
C
1
while(wait(NULL) == -1);
Текст по ссылке почти не читаем.
1
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 28
11.05.2012, 17:04  [ТС] 3
А как можно через семафор тоже самое оформить?
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
11.05.2012, 17:06 4
Разрешаю. Но зачем?
1
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 28
11.05.2012, 17:24  [ТС] 5
Преподаватель просит, извиняюсь за дурацкую картинку, дома VPN не работает... Потому я не смог лучше сделать... А чем здесь является NULL?
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
11.05.2012, 17:39 6
NULL значит, что нас не интересует код возврата и причины смерти потомка. Рекомендую почитать маны.
1
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 28
11.05.2012, 17:57  [ТС] 7
Равно -1 потому что из дочернего сравниваем?

Добавлено через 4 минуты
А можно вообще не через while выполныть? Просто преподаватель говорит, что это лишняя операция, потмоу как может выполняться много раз подрят и что это лишне время!
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
11.05.2012, 19:51 8
Цитата Сообщение от demon2321 Посмотреть сообщение
может выполняться много раз
Не может, это wait блокирующий вызов. -1 на случай, если во время ожидания придёт какой-нибудь обрабатываемый процессом сигнал, в этом коде за отсутствием таковых можно и без цикла.
0
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 28
12.05.2012, 12:56  [ТС] 9
А если использовать семафор, подскажите кодом как это организовать? А то я читал Робочевского, там не очень понятно, т. к. конкретного примера нет! Помогите сделать это задание через семафор! И весь вот этот код:
C#
1
2
3
4
5
6
7
while(lockf(file, F_TEST, 0) < 0) // ожидаем раз блокировку
{
if(errno==EAGAIN)
sched_yield();
else
break;
}
заменить через семафор? Просто преподавателю нужно именно это! А я это сделать не могу, т.к. не смог разобраться...
0
12.05.2012, 12:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2012, 12:56
Помогаю со студенческими работами здесь

Как реализовать программу с wait?
#include &lt;stdio.h&gt; int pid,i; int main() { pid=fork(); if (pid&lt;0) { write(1 ,...

Как использовать функцию wait()?
как правильно используют ф-ю wait() для процессов, какие параметры передают в скобках?

Как цикл заменить рекурсией подскажите пожалуйста
С циклом сделал а вот с рекурсией не могу понять. если кто может помоч буду очень признателен!!!...

Подскажите как заменить функцию возведения в степень в 38 строке
Задано функцию. Написать программу для нахождения определенного интеграла с точностью Е = 10-3 для...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru