Как реализовать многопоточность?



  • На входе у меня урл сайта с которого надо спарсить все урлы его внутренних страниц. Потом зайти на них и скопировать их в соцсеть.
    Как реализовать в таком случае многопоточность если использовать один скрипт?
    Я пока что додумался только к реализации в 2 подхода, первый скрипт в один поток парсит урлы внутренних страниц, и записывает их в список, а второй скрипт уже постит в несколько потоков.



  • Короче, я так понял можно в OnApplicationStart сделать функцию парсинга в один поток, после чего данные с урлами записать в список, а потому уже брать их в несколько потоков в основном теле скрипта, я правильно понял? Может еще какие варианты кто предложит?



  • @Samael_96 Самый простой. Первый поток парсит урл со всех страниц и записывает в ресурс, остальные потоки разгребают этот ресурс.
    Ресурс создается в OnApplicationStart.

    Запись в ресурс - действие "Добавить Элемент"
    Создание ресурса - "Создать Ресурс"
    По окончании работы первого потока его можно убить действием Fail с параметром "Не перезапускать поток."
    Действие "Номер потока" может получать номер треда.

    В будущем запланированы этапы выполнения. Для этого скрипта можно будет сделать 2 этапа и указать каждому свое количество потоков. Но такая реализация все равно самая быстрая, так как первый и второй этап работают одновременно.


Log in to reply