![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин
Регистрация: 06.10.2013
Сообщений: 216
|
![]()
вероятно да, я и сам понимаю что обращаться из потока к форме не лучшая идея, сейчас немного понапрягал программу, она доходила до 1,5GB ОЗУ и до 50% процессора, и вот что было по завершению. я не знаю как в нормальный поток передать аргументы, может и правда лучше потоком забирать IP из списка?
|
![]() |
![]() |
![]() |
#12 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
Это без разницы. Не хотите Synchronize, поставьте мьютекс.
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 06.10.2013
Сообщений: 216
|
![]()
без этого обработчика вылетают сообщения о превышении времени на подключение (оно установлено на 500 миллисекунд)
я убрал проверку очередного адреса, нашел утечки в функции разбивающей ip диапазоны на адреса, дал ей циклом 100 или около того разных диапазонов и она их все в 1 переменную должны класть (stringlist) и когда программа занимает 1.8Gb памяти, вылетает out of memory, дополнительные стринг листы я очищаю (их содержимое тоже) и остается лишь 1 лист в котором хранятся нужные ip, делаю это вот так Код:
а вот и out of memory!!!! путем экспериментов, узнал следующее Код:
еще заметил что максимально возможное количество ip адресов - 4294967296, ровно столько же как и вместимость longword неужели не выйдет работать со всеми диапазонами сразу? Я нашел максимальную длину массива array of string[15], она равна 68427774, при этом если взять массив array of string[16], то при таком же его размере будет снова out of memory!!! но странно между 0.0.0.0 и 0.255.255.255 лежит 16777216 адресов, а значит в этом диапазоне он должен работать Последний раз редактировалось PTyTb32; 11.09.2018 в 17:59. |
![]() |
![]() |
![]() |
#14 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
в свежих delphi можно более высокоуровнево
Код:
Не стесняемся, плюсуем!
![]() |
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 06.10.2013
Сообщений: 216
|
![]()
спасибо, а потом это все очищать от утечек?
|
![]() |
![]() |
![]() |
#16 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
не знаешь, не умничай...
убить надо HostList и ThreadPool но это где нибудь в OnClose... от же TTask - самоубьется по завершению. да и зачем гиговый HostList когда все хосты последовательные ip и можно на лету вычислить ip - прекрасно помещается в integer...
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 11.09.2018 в 19:15. |
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 06.10.2013
Сообщений: 216
|
![]() |
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Кстати, там еще не завезли умные указатели что ли?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 06.10.2013
Сообщений: 216
|
![]() |
![]() |
![]() |
![]() |
#20 |
Форумчанин
Регистрация: 06.10.2013
Сообщений: 216
|
![]()
че откопал!!!!
хотя уже делаю проверку на количество элементов в массиве.. жесть какая, сейчас попробую на лету их цеплять, и не записывать пока они не прошли проверку |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Потоки. Закрываются все потоки при ошибке в одном. | Son | Общие вопросы Delphi | 11 | 01.11.2013 09:32 |
потоки | Cpluser | C# (си шарп) | 1 | 28.10.2012 17:00 |
Потоки | _Mixer_ | Общие вопросы по Java, Java SE, Kotlin | 4 | 16.10.2011 19:25 |
Потоки С++ | Aleksin | Помощь студентам | 1 | 07.11.2010 18:15 |
потоки | tanek | Помощь студентам | 6 | 15.03.2010 21:42 |