Так ли необходимо использовать 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
Перемещение изображений по форме с помощью мыши
Во время работы над одной программой предо мной встала задача организации перемещения нескольких изображений пользователем с помощью мыши. Я не крутой мастер DELPHI, и найденное мною решение не претендует на полноту, его недостатки я рассмотрю ниже, но я надеюсь, что опыт, приобретённый при решении будет полезен читателю.
Microsoft SQL Server 7 для профессионалов
Книга посвящена одной из наиболее мощных современных систем управления базами данных — Microsoft SQL Server 7.0, с помощью которой можно решать задачи практически любой сложности. Прочитав эту книгу, вы научитесь правильно устанавливать сервер и управлять его работой, работать с системой безопасности, управлять правами доступа пользователей к данным и объектам SQL Server 7.0. В книге приведена исчерпывающая информация об экспорте и импорте данных из различных систем хранения. Подробно рассмотрена система репликации и резервного копирования данных. Книга также содержит информацию об использовании языка Transact-SQL, являющегося основой SQL Server 7.0. Кроме того, детально рассмотрены методы использования представлений, индексов, курсоров, триггеров, хранимых процедур, правил, умолчаний, ограничений целостности и других объектов. Материал книги проработан настолько
досконально, что даже те, кто считает себя знатоком SQL Server, наверняка найдут в этой книг
е что-нибудь полезное для себя.
Автор: Мамаев Е. В., Вишневский А. В.
Хокку дня
В который раз, Устав читать о вечном, Завариваю крепкий чай.
Афоризмы
Над чем бы ни работал ученый, в результате всегда получается оружие (Некий мичиганский политик)
Фраза дня
Носорог плохо видит, но при его весе, это не беда.
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Аннистон в Алабаме (США) запрещено появляться в джинсах на главной улице.
На Аляске (США) нельзя рассматривать лосей с самолета
И на закуску коротенький анекдот
Заключённый рассуждает: "Какая это все-таки странная вещь - закон: вот меня посадили за то, что я украл буханку хлеба - и теперь им приходится выдавать мне по буханке в день бесплатно".