|
5 / 5 / 3
Регистрация: 28.03.2010
Сообщений: 146
|
|
Оператор "Подожди"29.04.2010, 06:23. Показов 2197. Ответов 12
Метки нет (Все метки)
Господа програмисты VCpp!!! Задача такова. При запуске форма запускает 3 потока: "основной", "канальный" и "вычислительный". В основном гуи, в канальном организованы запросы в канал к соседнему процессу, ну а в вычислительном кое какие вычисления, причем они строятся в цикле, параметры которого получают в канале... Так вот как заставить вычислительный поток подождать этих значений параметров, пока они не придут по каналу??? Ну или как вобще заставить кого бы ни было подождать определенных значений или событий?
В мсдн операторов WaitingFor куча, а какой применить и как непонятно... Подскажите плз!..
0
|
|
| 29.04.2010, 06:23 | |
|
Ответы с готовыми решениями:
12
Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1 Перегрузить для класса Vector оператор умножения и оператор разности
|
|
191 / 151 / 61
Регистрация: 08.04.2010
Сообщений: 1,032
|
|
| 29.04.2010, 08:26 | |
|
Почитай про симафоры и станет все понятно.
0
|
|
|
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
|
||||||
| 29.04.2010, 10:32 | ||||||
|
ну а вообще существует такая функция Sleep()
в качестве значения принимает кол-во миллисекунд сколько ждать. например:
0
|
||||||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 29.04.2010, 10:47 | |
|
SphiNkSs, для начала опиши подробно логику работы каждого потока - что именно должен ждать каждый из потоков? Каково условие его "пробуждения"? Каково условие его "засыпания"?
0
|
|
|
191 / 151 / 61
Регистрация: 08.04.2010
Сообщений: 1,032
|
|
| 29.04.2010, 13:54 | |
|
Sleep бесполезин, откуда можно знать сколько будет выполнятся тот или иной поток да еще и на разных ПК.
0
|
|
|
|
||
| 29.04.2010, 16:45 | ||
|
Логика работы вычислительного потока. Если mutex находится в открытом состоянии, то читаем данные, запираем mutex и начинаем вычисления. После того, как вычисления завершили, то впадаем в ожидание до тех пор, пока mutex не откроется. Логика работы канального потока. Читаем данные в некий промежуточный буффер. Пока mutex находится в открытом состоянии, болтаемся в цикле ожидания. Как только mutex заперли (т.е. вычислительный поток прочитал все данные), копируем данные из промежуточного буффера в общий (откуда вычислительный поток может прочитать данные). После чего mutex открываем и начинаем цил заново (с чтения в промежуточный буффер)
1
|
||
|
5 / 5 / 3
Регистрация: 28.03.2010
Сообщений: 146
|
|
| 06.05.2010, 10:37 [ТС] | |
|
С мьютексом понятно, но вот как его применить?! ничего не получается((... Как его создать и настроить??? Опишите пожалуйста кто-нибудь примитивную реализацию мьютекса, пожалуйста???
0
|
|
|
|
|
| 06.05.2010, 10:47 | |
|
1
|
|
|
5 / 5 / 3
Регистрация: 28.03.2010
Сообщений: 146
|
|
| 06.05.2010, 11:02 [ТС] | |
|
Я так понял пример заключается в последовательном доступе нитей к базе данных... А можно пример, который приостанавливает поток во время выполнения на некоторое время, а потом пускает снова?.. На паузу так сказать ставит его...
0
|
|
|
|
|||
| 06.05.2010, 11:10 | |||
|
0
|
|||
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||
| 06.05.2010, 12:28 | ||
|
поток "ставится на паузу" функцией SuspendThread() "снимается с паузы" - ResumeThread()
2
|
||
|
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
|
|
| 06.05.2010, 13:24 | |
|
0
|
|
|
8 / 8 / 3
Регистрация: 05.05.2010
Сообщений: 27
|
||||||
| 06.05.2010, 20:30 | ||||||
|
Для точной задержки удобно использовать следующею конструкцию
1
|
||||||
| 06.05.2010, 20:30 | |
|
Помогаю со студенческими работами здесь
13
Решить задачу используя условный оператор и оператор выбора Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор *
Копирующий оператор присвоения и оператор + Не работают
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор под наименованию группы (на. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|