Показать сообщение отдельно
  #3  
Старый 30.09.2015, 23:50
Avenger15 Avenger15 вне форума
Прохожий
 
Регистрация: 17.09.2015
Сообщения: 10
Версия Delphi: Delphi XE3
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Кажется, вы чего-то не понимаете в потоках. Точнее в их применении.
Фактически, можно говорить о том, что поток - это отдельный процесс. Просто они выполняются в одном адресном пространстве, так что легче организовать взаимодействие между ними. Однако, они остаются все-таки разными процессами. Т.е. если потоку, например, нужно работать с COM, то каждый поток должен инициализировать COM-подсистему.
В вашем конкреном случае я вижу только одну возможность (признаюсь, смотрел не очень внимательно). Вот там, где у вас есть цикл от 1 до 5, каждый поток делает совсем одно и то же. Можно сделать так, что бы каждый поток отрабатывал только одну из цифр (т.е. разные урлы). Тогда каждый поток будет выполнять свою задачу, не пересекаясь по данным c другими. Что будет примерно в 5 раз быстрее (ну не в 5 на самом деле, где-то, ориентировочно, в 3, и то, если сама операция достаточно длительная).
Цитата:
Сообщение от lmikle
Вот там, где у вас есть цикл от 1 до 5, каждый поток делает совсем одно и то же. Можно сделать так, что бы каждый поток отрабатывал только одну из цифр (т.е. разные урлы). Тогда каждый поток будет выполнять свою задачу, не пересекаясь по данным c другими. Что будет примерно в 5 раз быстрее (ну не в 5 на самом деле, где-то, ориентировочно, в 3, и то, если сама операция достаточно длительная).
Вот это мне и нужно!!! , теперь вопрос как это реализовать в Delphi!
Ответить с цитированием