| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > WaitForMultipleObjects |
| Автор: guest11 25.12.2019, 02:18 |
| есть вопрос про while WaitForMultipleObjects(mwo, @hThread[i][0], True, 50) = WAIT_TIMEOUT do Application.ProcessMessages; то есть необходимо закрывать поток если он идет больше 50 милисекунд , как правильно написать чтоб поток закрывался если он идет больше 50 миллисекунд , добавил var hThread:array of array of Cardinal; начало запускатся что такое mwo |
| Автор: guest11 25.12.2019, 04:13 |
| может не верно описал задачу , попробую еще раз , при пинге многопоточном , ping на работающий хост идет быстро , а на не работающий host идет error , 1000 миллисекунд необходимо чтоб error , время ответа уменьшить до 50 миллисекунд , |
| Автор: Romikgy 25.12.2019, 11:15 |
это таймаут фунцкии пинга, а не работы потока.... https://www.eomy.net/forum/ping-sredstvami-delphi-vt2290.html http://citforum.ck.ua/nets/articles/ping/ http://www.codenet.ru/progr/delphi/stat/ping.php |
| Автор: guest11 25.12.2019, 15:32 | ||||
timeaut установлен через edit
писал же что когда пинг проходит нормально то идет быстрый ответ значит дело не timeaut , а в error , |
| Автор: Romikgy 25.12.2019, 15:43 |
ну обрабатывайте корректно ошибки ... |
| Автор: guest11 25.12.2019, 21:01 | ||
скорее WaitForMultipleObjects mwo := MAXIMUM_WAIT_OBJECTS; ![]() |
| Автор: guest11 25.12.2019, 21:28 |
| { ожидание завершения работы потоков } for i:=0 to NumbArr-1 do begin if (m>0)and (i=NumbArr - 1) then mwo := m; while WaitForMultipleObjects(mwo, @hThread[i][0], True, 50) = WAIT_TIMEOUT do Application.ProcessMessages; end; |
| Автор: Romikgy 25.12.2019, 21:38 |
| вы уперты, с одной стороны хорошо , с другой, вы ходите по кругу, и ваша упертость до одного места.... WaitForMultipleObjects ждет окончание потока... а у вас проблема внутри потока... но вы умнее всех, так что решайте сами... |
| Автор: guest11 25.12.2019, 21:47 | ||
можно и функция , функцию таймаута не видел , просто у меня исходник на руках где нормально обрабатывается error http://www.delphisources.ru/pages/sources/internet/2007_year/ping_thread.html но там закрученный код , |
| Автор: guest11 25.12.2019, 23:00 |
| скорее вышло недоразумение , с программы , с которой беру пример , так же тормозит , и это скорее не решается , |
| Автор: guest11 26.12.2019, 01:19 |
| Программа платная , Так же есть версия с менее функционалом , но со свободным скачиванием , http://radijo.noip.me/software/ |
| Автор: fairsinger 22.8.2022, 12:07 |
| Вы упрямы, что, с одной стороны, хорошо, но из-за этого вы ходите по кругу, и ваше упрямство ограничивается одним местом... WaitForMultipleObjects ожидает завершения потока... и в потоке возникла проблема... |