вызов многопоточной функции

Поддержка
  • Доброго времени суток форумчанам!В общем,даже смешно говорить,но это стало серьезной проблемой для меня.Созданный скрипт работал в один поток и создавал список,с которым работал в один поток,на что уходило около 10-ти минут (около 1-2к строк),это время меня стало не устраивать и хотел переделать во многопоток,но созданный из функции,так как другое просто не подходит.
    1)Имеется скрипт,который в один поток создает 2 ресурса с настройками:

    • количество успехов 1
    • количество неудач 1
    • одновременных использований 1
    • время между использованием 0
      2)Далее делается один get-запрос на сайт и получаем файл json с 2000+ элементами,записываем в глобальную переменную.
      3)Через цикл,зависимый от количества элементов в json записываются числа и список этих чисел записывается в созданный ресурс
      4)Запускается функция во многопотоке(20 потоков\1 успех\1 неудача),которая парсит полученный json,через глобальную переменную и берет числа из ресурса,без удаления по notreuse циклом for .Числа подставляются в переменную и по ключу берутся json данные,обрабатываются и записываются в другой ресурс,с такими же настройками,как в первом.
      5)По завершению всех потоков функции,все данные в ресурсе записываются списком в файл.Около 1000-1500 строк.
      Получается в каждом потоке еще и включается цикл for на 10-50 повторений,так как я не знаю сколько может быть строк.
      Вроде бы все хорошо,но с такими же действиями время не изменяется,так и работает 10-11 минут,хоть с одним потоком хоть 500 потоков!Такое чувство,что потоки все равно по очереди выполняют работу.Может ли кто подсказать,как увеличить скорость обработки данных?Или от железа зависит?Делал и через файл и через ресурсы и все равно скорость не увеличивается.

  • 0 Votes
    12 Posts
    904 Views
  • 0 Votes
    2 Posts
    491 Views
  • 0 Votes
    5 Posts
    677 Views
  • 0 Votes
    4 Posts
    748 Views
  • 1 Votes
    2 Posts
    462 Views