Так ли необходимо использовать GetHostByName вместо аналогичного асинхронного метода
Q: Так ли необходимо использовать GetHostByName вместо аналогичного асинхронного метода, если все синхронные методы сильно грузят процессор и их трудно прервать в случае необходимости, только через TerminateThread. Я тут обрадовался советам, написал кэш имен и ip адресов, сделал через GetHostByName, прилепил нотификации, многопоточность, а оказывается, все опять нужно переделывать? Или оставить как есть? Дело в том, что я это, несомненно буду использовать в последующих разработках, и мне хочется делать сразу на совесть. Дайте совет, please. Я проверял, все это хозяйство вроде процессор грузит достаточно мало.
A: Ты прав, никакой нагрузки на процессор нет. Пример тому - AMV и ADR (см. подпись), многопоточные программы, использующие только berkley-подмножество WinSocks 1.1, никаких асинхронных функций. Каждое письмо посылается и каждый емайл проверяется отдельным потоком. Прерывать
при помощи TerminateThread тоже не надо. Когда мне нужно остановить поток (пользователь остановил проверку адресов), я делаю так:
1). устанавливаю int network_off = true
2). из главного потока делаю shutdown и closesocket для сокета потока - даже если я висел на recv или send, то они увидев это вывылятся
3). в коде потока часто-часто стоят проверки переменной network_off и если true, то поток __самостоятельно__ и цивилизовано завершается, если он не соизволит остановится увидев "ошибку сети"
4). главный поток ждет 500 мс и считает сколько осталось потоков, если потоки завершились не все, то он ждет еще 500 ms т повторяет операцию, лишь за тем он вызывает для непокорных потоков TerminateThread
На самом деле пункт 4 немного похитрей ;), но идея такая. Потоки мне убивать практически никогда не приходится.
Alexander P. Gorlach, Elcom
E-mail Management Software Team: * Advanced Mail List Verify: http://www.elcomsoft.com/amv.html * Advanced Direct Remailer: http://www.elcomsoft.com/adr.html
Функции оболочки ( ShellApi ) Работа с корзиной в Delphi
На форуме с завидным постоянством появляются вопросы, как мне отправить или удалить файл в корзину(Recycle Bin), этой статьей я хочу раз и навсегда закрыть эту "наболевшую тему", а может и открыть. Так же это статья открывает, новый проект нашего сайта DSDN. Но как скажете Вы ближе к телу, простите делу…
Самоучитель Kylix
Книга посвящена новому продукту фирмы Borland - объектно-ориентированной среде для быстрой разработки приложений под Linux. Рассматривается версия Kylix 1.0 Server Developer. Приводятся приемы работы с графическими компонентами, принципы создания приложений баз данных и собственных компонентов. Дается краткое описание языка программирования Object Pascal. Последняя часть книги посвящена проблеме создания межплатформенных приложений, которые работают как в среде Linux, так и в Windows. Изложение сопровождается многочисленными примерами и фрагментами кода.Для программистов
Автор: Понамарев В.
Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.
Для души
Хокку дня
Оторвал глаза Интернет - наркоманит Ночь на исходе.
Афоризмы
Антон Павлович Чехов справедливо утверждал, что не существует национальной культуры, также, как не существует национальной таблицы умножения....
Фраза дня
Я сегодня не такой, как вчера - а вчера я был вообще никакой
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Джоржии (США) разрешается бить любого, кто оскорбляет вас бранными выражениями.
В городе Гейнсвилл (США) издано специальное распоряжение, предписывающее “есть курицу руками”.
И на закуску коротенький анекдот
- Доктоp, вы лечите боязнь откpытых пpостpанств? - Конечно. - А закpытых? - Естественно... - Видите ли, у моего сына и то, и дpугое.... - Аааа, думеpов мы не лечим...