![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> Не может быть никакой ошибки
перечитайте ещё раз цитату из Дугласа Адамса выше, я специально её привёл ) > поэтому мне timeout не нужен исчо раз, таймаут — это верхний предел ожидания. Если вы зададите таймаут в 1 мс, а какой-то из потоков выполнится только за 2 мс, то WaitFor() просто вернёт WAIT_TIMEOUT. Означает ли это, что поток не завершился? Ни в коем случае. Поток завершится вне зависимости от результата каких-то там ожиданий. Но вы об этом уже не узнаете. Таймаут говорит, сколько вы готовы ждать. Готовы ждать сколь угодно долго — задавайте INFINITE, нет проблем. > пока не освободиться объект занятый другим потоком исчо раз. Для хэндлов потоков WaitFo() работает просто: хендл считается установленным (signaled), когда поток завершился. Никаких других объектов там нет. Таким образом, WaitFor() просто ждёт, пока не завершатся все потоки, хэндлы которых ей передали. Либо пока не наступит таймаут, если там не INFINITE. > как я понял лишь проверяет завершены ли потоки не просто проверяет, а ещё и ждёт (в течении таймаута), пока они не завершатся. Если за время таймаута хотя бы один из потоков не завершился, ветка if не сработает.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#12 | ||
Форумчанин
Регистрация: 06.10.2009
Сообщений: 121
|
![]() Цитата:
Цитата:
Ищущий да обрящет
|
||
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> то ветка if выполнится в любом случае сразу по завершении потока
да, по завершению всех потоков. их может быть от 1 до 64000 > или будет ждать весь timeout? только в том случае, если хоть один из потоков не завершил работу.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 06.10.2009
Сообщений: 121
|
![]()
Огромное спасибо, veniside. Теперь всё более или менее встало на свои места.
Ищущий да обрящет
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как защитить поток | coNsept | Общие вопросы C/C++ | 2 | 24.09.2011 20:17 |
Поток. Не получается создать поток. Выдает ошибки при запуске | bigory | Общие вопросы по Java, Java SE, Kotlin | 3 | 23.09.2010 00:40 |
Как создать поток | record222 | Помощь студентам | 1 | 07.04.2010 01:09 |
Как отменить поток | RIO | Общие вопросы Delphi | 11 | 12.10.2009 00:29 |
Как остановить поток? | Никки | Win Api | 3 | 06.12.2007 22:04 |