Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHIMASTER.ru

Выпуск от 19.09.04 09:18

Лучшее из нашего FAQ   |x|
Так ли необходимо использовать 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

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
  • Canvas и PopupMenu
    Здравствуйте ув. Мастера! Работая с компонентом TKOLPopupMenu встретил такое препятствие. Я не нашёл у этого компонента ...
  • Как отключить поддержку стиля Win XP в своей программе
    Если в Win XP(и Win 2003) запущена служба тем, то окна имеют вид резко отличающийся от классического. Можно ли в таком ...
  • На чем быстро рисовать?
    На канве - медленно, OpenGL & DirectX требуют их наличия, а на чем (т.е. на какой поверхности или области памяти или ...
  • Игра Sorcerer`s Doll [PowerDraw]
    Народ, посмотрите новую версию проекта Untitled, теперь он получил название Sorcerer`s Doll. Вроде все ошибки что были ...
  • Трафик
    Ребята, подскажите пожалуйста, как можно узнать число переданных и полученных байт из интернета? Через прокси вариантов ...
  • Проблема с кириллицей
    В Delphi пишу приложение к БД. Работаю с IBX. Все как обычно. Добавляю новые записи через форму "Вставить", в ней ...
  • Работа с компонентом ListView
    Мастера, помогите pls! Не могу разобраться с компонентом ListView! Мне нужно изменять данные в таблице, а во всех ...
У нас большой выбор статей   |x|
Delphi и Flash. Совмещение несовместимого!
Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом. Во-первых хочется отметить преимущества использования флэш-роликов в ваших программах...
Новинки книжного рынка   |x|
Экстремальное программирование: разработка через тестирование.
Изящный, гибкий и понятный код, который легко модифицировать, который корректно работает и который не подкидывает своим создателям неприятных сюрпризов. Неужели, подобное возможно? Чтобы достичь цели, попробуйте тестировать программу еще до того, как она написана. Именно такая парадоксальная идея положена в основу методики TDD (Test-Driven-Development — разработка, основанная на тестировании). Бессмыслица? Не спешите делать скороспелых выводов. Рассматривая применение TDD на примере разработки реального программного кода, автор демонстрирует простоту и мощь этой новой методики. В книге рассматриваются два программных проекта, целиком и полностью реализованных с использованием TDD. За рассмотрением примеров следует обширный каталог приемов работы в стиле TDD, а также паттернов и рефакторингов, имеющих отношение к TDD. Книга будет полезна для любого программиста, желающего повысить производительность свой работы и получить удовольствие от программирования.
Автор: Бек К.
Опрос населения :)
Какой сайт по Delphi лучший?
»»» Королевство Дельфи
»»» Этот сайт
»»» Дельфи. Вокруг да около
»»» Другой
»»» Чем больше, тем лучше!
Для души

Хокку дня
Гейши пошли постирать кимоно
Тут-то их всех и накрыло
Мощной волною цунами...

Афоризмы
Если женщина молчит - слушай внимательно!

Фраза дня
Жизнь как телеграмма, - короткая и с ошибками.

Дурацкие законы (информация предоставлена сайтом kurilka.com)
Во Франции под угрозой штрафа запрещено фотографировать полицейских и даже полицейские машины.
В штате Нью Йорк (США) вам грозит штраф, если вы будете разговаривать в лифте, даже со знакомыми людьми.

И на закуску коротенький анекдот
Собака: "Я след хозяина всегда узнаю: он широкий и непрерывный".

Фотоприколы.
Начните день с хорошего настроения!
http://www.delphimaster.ru/cgi-bin/prikol.pl?id=1605


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (merlin@delphimaster.ru)

Добро пожаловать на сайт -= Мастера DELPHI =- 

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.mdelphi
Отписаться

В избранное