Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
WinAPI & Visual C++
(Модератор:
Вад
) > Тема:
помогите с потоками
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: помогите с потоками (Прочитано 11331 раз)
0 Пользователей и 1 Гость смотрят эту тему.
student87
Гость
помогите с потоками
«
:
17-06-2007 12:44 »
Не могу написать прогу, запускающую два потока одновременно. Нужно использовать событие. Помогите пожалуйста.
Записан
Sel
Злобный
Администратор
Offline
Re: помогите с потоками
«
Ответ #1 :
17-06-2007 12:45 »
student87
, свои наработки в студию.
Записан
Слово не воробей. Всё не воробей, кроме воробья.
npak
Команда клуба
Offline
Пол:
Re: помогите с потоками
«
Ответ #2 :
18-06-2007 09:49 »
мы тоже не можем. надо, как минимум, точную постановку задачи.
Записан
UniTesK -- индустриальная технология надежного тестирования.
http://www.unitesk.com/ru/
Джон
просто
Администратор
Offline
Пол:
Re: помогите с потоками
«
Ответ #3 :
18-06-2007 13:54 »
Ну а чего? Запустить (в смысле создать) одновременно не получится. А вот управлять можно. Те я так думаю.
ПОтоки создаются последовательно, но сразу же ждут event по WaitForSingleObject с параметром INFINTE.
Я бы так сделал.
Записан
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
npak
Команда клуба
Offline
Пол:
Re: помогите с потоками
«
Ответ #4 :
18-06-2007 14:52 »
Так это задача синхронизации потоков, а не одновременного запуска. К моменту WaitFor... оба потока уже выполняются.
Записан
UniTesK -- индустриальная технология надежного тестирования.
http://www.unitesk.com/ru/
Джон
просто
Администратор
Offline
Пол:
Re: помогите с потоками
«
Ответ #5 :
18-06-2007 16:34 »
А если создать два потока (последовательно, по другому я не могу представить как?) заставить их ждать событие, а по нему каждый поток создаст ещё по одному потоку. Получится "почти" одновременно.
Записан
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: помогите с потоками
«
Ответ #6 :
18-06-2007 18:04 »
мне кажется в задаче нет условия создать одновременно потоки (в смысле - "в одно мгновение оба потока")
Автор что то другое хочет. Ждём-с его выхода...
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
npak
Команда клуба
Offline
Пол:
Re: помогите с потоками
«
Ответ #7 :
19-06-2007 14:17 »
Джон, ещё необходимо гарантировать, что к моменту срабатывания события оба потока уже встали в WaitFor.
В принципе, для этого придуман примитив синхронизации барьер, но в винде нет встроенной реализации.
Записан
UniTesK -- индустриальная технология надежного тестирования.
http://www.unitesk.com/ru/
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: помогите с потоками
«
Ответ #8 :
19-06-2007 14:23 »
а семафор подойдёт ? добавляем по единичке на каждый запуск потока, потоки после запуска сбрасывают единичку,
затем потоки ждут, когда семафор их пустит работать.
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
npak
Команда клуба
Offline
Пол:
Re: помогите с потоками
«
Ответ #9 :
20-06-2007 12:45 »
Барьер блокирует потоки, если число захвативших его потоков меньше некоторого порога, и освобождает все захваченные потоки, когда число захвативших потоков становится равным порогу.
Семафор работает наоборот - он запирается, когда число захвативших его потоков превышает некоторый порог.
Записан
UniTesK -- индустриальная технология надежного тестирования.
http://www.unitesk.com/ru/
p_serg
Гость
Re: помогите с потоками
«
Ответ #10 :
30-07-2007 20:02 »
Можно попробовать, как сдесь уже говорили, синхронизировать событием и WaitFor..., но при этом создать потоки приостановленными, а событие в сброшенном состоянии. При запуске потоков они начнут ожидание события и затем примут его почти одновременно. Но это в теории:).
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
WinAPI & Visual C++
(Модератор:
Вад
) > Тема:
помогите с потоками
Загружается...