| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Многопоточность. |
| Автор: aSt0rm 19.2.2012, 19:46 | ||
Здравствуйте.помогите кодом пожалуйста.Есть такой вот "Проверятель e-mail" :
С потоками практически не знаком. скажите/покажите как сделать программу многопоточной.Например: Сейчас программа последовательно(от одного к другому) проверяет каждый e-mail.Это очень Долго. Хочу что бы паралельно она проверяла другие e-mail.Так будет,я думаю,гораздо быстрее. |
| Автор: DJPhoeniX 19.2.2012, 19:54 |
| Основной (управляющий) код создаёт массив из N потоков (наследников TThread, по их написанию в сети тыщи примеров). На каждом круге основного цикла (по логинам-паролям) проверяем результат работы потоков, пробегаясь по массиву. Если ни один из потоков не закончил работу - засыпаем ненадолго, и опять обходим массив. Если результат известен, и поток завершил работу - записываем результат куда надо, и перезапускаем освободившийся поток с новыми данными. Если входные данные закончились - дожидаемся завершения работающих потоков, освобождаем память и завершаемся. |
| Автор: ZBugz 20.2.2012, 06:33 |
| http://forum.vingrad.ru/forum/topic-346507/kw-%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B8.html |
| Автор: aSt0rm 20.2.2012, 12:18 |
| Помогите кодом.Желательно с комментариями. В google нашёл множество примеров по потокам. нашёл как их создавать,"мастером" и "вручную",но,может быть у меня версия Delphi 7 глюченая,то ли руки кривые,не работают потоки при объявлении класса ругается. ![]() как понял из перевода,хочет видеть ":" заменяю "=" на ":" delphi твердит : ![]() |
| Автор: Чучмек 20.2.2012, 13:17 | ||||||
| Ты end у TForm удалил Должно быть:
а не
и не
Почитай про классы сначала. |
| Автор: MrDmitry 20.2.2012, 17:25 | ||
ЧучмекЯ конечно не спорю, но он вроде создал поток мастером, зачем ему там TForm? По моему ему просто надо удалить
|
| Автор: aSt0rm 20.2.2012, 17:54 |
| Головоломка! Трудно разобраться. Если не сложно.Напишите код,реализацию многопоточности в моей программе,либо теории DJPhoeniX'а. P.S. если нужно для этого запостить в другой раздел скажите. |
| Автор: MetalFan 20.2.2012, 18:04 |
это уже в раздел "работа" имхо. если ТС не хочет сам разбираться, то найдутся люди, которые все напишут, но за мат. вознаграждение. |
| Автор: Чучмек 20.2.2012, 18:14 | ||
![]() |
| Автор: MrDmitry 20.2.2012, 21:14 |
| А ну да сорри, что то не обратил внимание ( aSt0rm http://forum.vingrad.ru/forum/topic-60076.html - Вот хорошая статья с этого форума, первое время конечно было тоже не все понятно, но главное чтоб было желание и тогда думаю разберешься. |
| Автор: Akella 22.2.2012, 13:44 |
| aSt0rm, а чего такие маленькие картинки? Давай побольше! Добавлено через 1 минуту и 44 секунды aSt0rm, читай внимательно: http://forum.vingrad.ru/forum/topic-126445.html http://forum.vingrad.ru/forum/topic-237714.html |
| Автор: aSt0rm 25.2.2012, 21:03 |
| Akella, извините, не не понимаю киньте пример для не большого разбора. |
| Автор: aSt0rm 6.3.2012, 08:34 |
| ап))актуально для меня. |
| Автор: Чучмек 6.3.2012, 10:58 | ||
Вот для начала
|
| Автор: MetalFan 6.3.2012, 18:01 |
Суровый пример) |
| Автор: Canyon 11.3.2012, 23:16 |
| Не стал создавать тему, так как есть уже такая. Читал статьи и смотрел видео имеено про многопоточность. Со статей ничего не понял, так как смотрел на готовых примерах и там по другому описано и работает гораздо лучше. Видео смотрел и читал и смотрел исходник про многопоточность >2, и столько не поняток осталось. Могли бы ли Вы создать у себя проект пустой и сделай там многопоточность Откоментить те строки где мы увеличиваем кол-во потоков и откоментить куда писать код. В моей программе должно быть от 5 до 10 потоков. 99% Что синхронизацией я пользоваться не буду, так как она там не нужна. И еще. Что если поток не уничтожить что произойдет? Вот я просто вышел из программы и не уничтожил его. |
| Автор: bems 12.3.2012, 03:26 | ||
|