Потоки и Ресурсы



  • Здравствуйте!
    Как сделать так, чтобы каждый поток брал данные из ресурса поочередно?
    Например, допустим у меня 4 потока и 20 строк в ресурсе.
    Ресурс:
    link1
    link2
    link3
    link4
    link5
    ...
    Нужно чтобы поток 1 брал link1, link5,link9
    Поток 2 брал link2,link6 и тд.

    Сейчас все данные, спарсенные с линков потоками идут в разнобой и не соответствуют другим данным, спарсенным до этого.

    Пробовал ставить задержки через глобальную переменную - не помогло.
    Помогите, пожалуйста

    Хмм, а может они и берут данные правильно, но в файл записывают вразнобой?



  • Вообще как оно работает (цель спарсить видео):

    1. В OnApplicationStart парсится инфа со страниц с видео (линки, картинки, тайтлы, время видео)
    2. В Main работают уже потоки. Заходим по линкам и парсим тэги.

    Вот с тэгами косяк. Инфа о тэгах не соответствует предыдущим данным (линкам, картинкам и тд)



  • В общем проблему решил путем увеличения времени ожидания, вместо секунды потоки ждут две. Но в однопоток тогда быстрее будет? Или нет?)



  • @Erick между "берут данные" и "записывают" скрипт/поток может иметь разную длительность, поэтому то что первым успело то первым и записалось.

    вместо ресурса можно использовать и др. структуры данных


Log in to reply