Так ли необходимо использовать 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
На чем быстро рисовать?
На канве - медленно, OpenGL & DirectX требуют их наличия, а на чем (т.е. на какой поверхности или области памяти или ...
Игра Sorcerer`s Doll [PowerDraw]
Народ, посмотрите новую версию проекта Untitled, теперь он получил название Sorcerer`s Doll. Вроде все ошибки что были ...
Трафик
Ребята, подскажите пожалуйста, как можно узнать число переданных и полученных байт из интернета? Через прокси вариантов ...
Проблема с кириллицей
В Delphi пишу приложение к БД. Работаю с IBX. Все как обычно. Добавляю новые записи через форму "Вставить", в ней ...
Работа с компонентом ListView
Мастера, помогите pls! Не могу разобраться с компонентом ListView! Мне нужно изменять данные в таблице, а во всех ...
Delphi и Flash. Совмещение несовместимого!
Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом. Во-первых хочется отметить преимущества использования флэш-роликов в ваших программах...
Экстремальное программирование: разработка через тестирование.
Изящный, гибкий и понятный код, который легко модифицировать, который корректно работает и который не подкидывает своим создателям неприятных сюрпризов. Неужели, подобное возможно? Чтобы достичь цели, попробуйте тестировать программу еще до того, как она написана. Именно такая парадоксальная идея положена в основу методики TDD (Test-Driven-Development — разработка, основанная на тестировании). Бессмыслица? Не спешите делать скороспелых выводов. Рассматривая применение TDD на примере разработки реального программного кода, автор демонстрирует простоту и мощь этой новой методики. В книге рассматриваются два программных проекта, целиком и полностью реализованных с использованием TDD. За рассмотрением примеров следует обширный каталог приемов работы в стиле TDD, а также паттернов и рефакторингов, имеющих отношение к TDD. Книга будет полезна для любого программиста,
желающего повысить производительность свой работы и получить удовольствие от программирования.
Автор: Бек К.
Хокку дня
Гейши пошли постирать кимоно Тут-то их всех и накрыло Мощной волною цунами...
Афоризмы
Если женщина молчит - слушай внимательно!
Фраза дня
Жизнь как телеграмма, - короткая и с ошибками.
Дурацкие законы (информация предоставлена сайтом kurilka.com)
Во Франции под угрозой штрафа запрещено фотографировать полицейских и даже полицейские машины.
В штате Нью Йорк (США) вам грозит штраф, если вы будете разговаривать в лифте, даже со знакомыми людьми.
И на закуску коротенький анекдот
Собака: "Я след хозяина всегда узнаю: он широкий и непрерывный".