Последовательный вывод в результат строк из файла при работе в несколько потоков

Moved Поддержка
  • Я обрабатываю строки из файла одну за одной. Это список url, по которым нужно переходить и выполнять определенную задачу.

    В итоге я хочу, чтобы результат складывался в том же порядке, в котором следуют обрабатываемые строки в файле ресурса.

    Все так и происходит при работе в один поток.

    Как только подключается несколько потоков, то бывает, что последующий справляется с задачей быстрее предыдущего и складывает результат раньше, чем предыдущий поток, что мешает результаты.

    Как этого избежать?

  • Как решить эту задачу просто и красиво не знаю. У меня вот так вроде работает:
    {{file}} - путь к файлу с ссылками (тип: строка).
    OnApplicationStart:
    Screenshot_2.png
    Код с действия "Выполнить код":

    for(var i=0;i<[[URLS]].length;i++){
        RMap('results').insert('');
    }
    

    Main:
    Screenshot_3.png
    Work:
    Screenshot_4.png
    Код с действия "Выполнить код":

    var index = [[GLOBAL:URLS]].indexOf(VAR_URL);
    RMap('results').set(index, VAR_URL + ' => ' + VAR_RANDOM_NUMBER);
    

    Исходник