Форум: "Сети";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизДля чего нужен компонет IdAntiFreeze? Найти похожие ветки
← →
leonidus (2004-03-15 20:40) [0]Мастера прошу ногами не пинать, подскажите пожалуйста для чего нужен компонент из набора Indy IdAntiFreeze и за что отвечает его свойство IdleTimeOut?
Заранее искренне благодарен.
← →
leonidus (2004-03-15 20:40) [0]Мастера прошу ногами не пинать, подскажите пожалуйста для чего нужен компонент из набора Indy IdAntiFreeze и за что отвечает его свойство IdleTimeOut?
Заранее искренне благодарен.
← →
Verg © (2004-03-15 22:38) [1]Чтобы при операциях клиентских компонентов (напр., IdTcpClient и т.п.), которые могут заблокировать работу главного потока приложения, периодически вызывать Application.ProcessMessages. Период этот и будет равен тому самому свойству IdleTimeOut.
Получается, что польз. интерфейс "как бы не замерзает" на время выполнения этой операции.
← →
Verg © (2004-03-15 22:38) [1]Чтобы при операциях клиентских компонентов (напр., IdTcpClient и т.п.), которые могут заблокировать работу главного потока приложения, периодически вызывать Application.ProcessMessages. Период этот и будет равен тому самому свойству IdleTimeOut.
Получается, что польз. интерфейс "как бы не замерзает" на время выполнения этой операции.
← →
S@shka © (2004-03-15 22:39) [2]Сокеты Indy являются блокируемыми и поэтому возможно "подвисание" твоего приложение. Чтобы от этого уйти необходимо расположить на форме данный компонент.
← →
S@shka © (2004-03-15 22:39) [2]Сокеты Indy являются блокируемыми и поэтому возможно "подвисание" твоего приложение. Чтобы от этого уйти необходимо расположить на форме данный компонент.
← →
leonidus (2004-03-16 21:21) [3]Спасибо за ответы. Я в принципе так и предполагал, выставил значение IdleTimeOut в 10 но программа при закачке потоками исаользуя IdHTTP все равно иногда подвисает - окно не прорисовывается. Можно это как-то вылечить?
← →
leonidus (2004-03-16 21:21) [3]Спасибо за ответы. Я в принципе так и предполагал, выставил значение IdleTimeOut в 10 но программа при закачке потоками исаользуя IdHTTP все равно иногда подвисает - окно не прорисовывается. Можно это как-то вылечить?
← →
nikkie © (2004-03-16 21:36) [4]>при закачке потоками исаользуя IdHTTP
если основной поток не загружен, то зачем тогда IdAntiFreeze?
← →
nikkie © (2004-03-16 21:36) [4]>при закачке потоками исаользуя IdHTTP
если основной поток не загружен, то зачем тогда IdAntiFreeze?
← →
KyRo © (2004-03-17 03:25) [5]Нужно ли подобное чудо использовать для WinSock ?
← →
KyRo © (2004-03-17 03:25) [5]Нужно ли подобное чудо использовать для WinSock ?
← →
leonidus (2004-03-17 18:29) [6]>nikkie в каком смысле "основной поток не загружен" ? У меня программа в несколько потоков скачивает файлы из инета а потом скачанные файлы парсятся, так что думаю основной поток всегда при деле:) Но все равно подвисает, даже если я везде понатыкаю Application.ProcessMessages
>KyRo - не понял мысль, а что еще можно исользовать?
← →
leonidus (2004-03-17 18:29) [6]>nikkie в каком смысле "основной поток не загружен" ? У меня программа в несколько потоков скачивает файлы из инета а потом скачанные файлы парсятся, так что думаю основной поток всегда при деле:) Но все равно подвисает, даже если я везде понатыкаю Application.ProcessMessages
>KyRo - не понял мысль, а что еще можно исользовать?
← →
nikkie © (2004-03-17 18:42) [7]>leonidus
ну так а зачем загружать основной поток? оставь его для юзера, а скачивание и обработка - в дополнительных потоках. IdAntiFreeze - это решение для ленивых, для тех, кто не хочет потоки делать...
>KyRo
нет, не нужно поскольку
1. IdAntiFreeze работает только для инди
2. в WinSock есть асинхронные сокеты, а с ними разговор другой
3. если даже использовать WinSock в блокирующем режиме, то см.1, надо использовать потоки.
← →
nikkie © (2004-03-17 18:42) [7]>leonidus
ну так а зачем загружать основной поток? оставь его для юзера, а скачивание и обработка - в дополнительных потоках. IdAntiFreeze - это решение для ленивых, для тех, кто не хочет потоки делать...
>KyRo
нет, не нужно поскольку
1. IdAntiFreeze работает только для инди
2. в WinSock есть асинхронные сокеты, а с ними разговор другой
3. если даже использовать WinSock в блокирующем режиме, то см.1, надо использовать потоки.
← →
leonidus (2004-03-18 18:56) [8]Так я и использую потоки а IdAntiFreeze использую именно потому что в потоках работают именно компоненты Инди а именно IdHTTP. Может я и кривовато делаю, но я просто положил на форму 4 компонента IdHTTP для каждого организую свой поток и по таймеру слежу как только поток отработал передаю ему очередной URL из очереди. Но приложение периодически подвисает, что я делаю не так?
← →
leonidus (2004-03-18 18:56) [8]Так я и использую потоки а IdAntiFreeze использую именно потому что в потоках работают именно компоненты Инди а именно IdHTTP. Может я и кривовато делаю, но я просто положил на форму 4 компонента IdHTTP для каждого организую свой поток и по таймеру слежу как только поток отработал передаю ему очередной URL из очереди. Но приложение периодически подвисает, что я делаю не так?
← →
nikkie © (2004-03-18 20:02) [9]>Но приложение периодически подвисает, что я делаю не так?
кто ж тебя знает... покажи код - как создаешь потоки, как проверяешь, что "поток отработал", как "передаешь ему очередной URL".
← →
nikkie © (2004-03-18 20:02) [9]>Но приложение периодически подвисает, что я делаю не так?
кто ж тебя знает... покажи код - как создаешь потоки, как проверяешь, что "поток отработал", как "передаешь ему очередной URL".
← →
Digitman © (2004-03-19 09:10) [10]
> что я делаю не так?
наверно, метод synchronize() используешь там, где он как раз не нужен
← →
Digitman © (2004-03-19 09:10) [10]
> что я делаю не так?
наверно, метод synchronize() используешь там, где он как раз не нужен
← →
leonidus (2004-03-19 23:03) [11]Может быть, потому что я все делал методом научного втыка. А как надо правильно использовать synchronize?
← →
leonidus (2004-03-19 23:03) [11]Может быть, потому что я все делал методом научного втыка. А как надо правильно использовать synchronize?
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.033 c