![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 16.01.2012
Сообщений: 7
|
![]()
Нигде в документации и в книгах по C# не нашел, как можно ждать сразу несколько событий (запустить 10 потоков и ждать, пока кто-то не закончится).
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 15.10.2011
Сообщений: 139
|
![]()
я конечно не силен в потоках, но может в конце каждого потока просто нужно выполнить какую нибудь процедуру, в которой при помощи глобальной переменное будет отслеживаться, первое это вхождение в процедуру или нет, а процедура в свое очередь будет пускать при первом вхождении какую то операцию которую тебе нужно будет выполнить при первом завершении потока....
Программист это не профессия, программист - это образ жизни.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 20.04.2008
Сообщений: 139
|
![]()
когда создаёшь поток,у тебя остаётся ссылка на поток.
th = new Thread(thread); while (true) { if ( th.ThreadState== th.ThreadState=ThreadState.Stopped) ....... } |
![]() |
![]() |
![]() |
#4 |
Регистрация: 16.01.2012
Сообщений: 7
|
![]()
Спасибо за ответы, но всё это немного не то. Как в активном режиме опросить состояние потока, понятно.
Наверное, я не совсем корректно задал вопрос. В раннем С и в С++ были функции ожидания одного из пула событий. Тогда было бы понятно - повесил на каждый поток по событию и жди, пока какой-нибудь поплавок шевельнется. Я вышел из положения с помощью семафора (ставлю семафор на 11 включений, запускаю 10 потоков, в каждом из которых в начале ставлю для семафора wait. В главном потоке тоже вешаю wait) Но это - чесать правое ухо левой рукой. Хотелось бы более элегантное решение. ![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 15.10.2010
Сообщений: 65
|
![]()
эм...а Join не подойдет?
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 16.01.2012
Сообщений: 7
|
![]()
join - это ожидание одного потока (и пока не кончится. будешь его ждать
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ожидание нажатия клавиши | blinkapec | Win Api | 6 | 24.11.2010 22:06 |
Ожидание нажатия клавиши | shurik_7866 | Общие вопросы Delphi | 2 | 25.04.2010 19:53 |
Ожидание завершения процесса | Человек-Ололо | Общие вопросы Delphi | 2 | 08.03.2010 19:39 |
Ожидание подключения к серверу. | i-cpp | C/C++ Сетевое программирование | 2 | 13.02.2010 23:15 |