@Turutur
Что есть {{res}}? - я же не матерюсь - а Вы начинаете - я же помощи прошу - как мне при многопотоке брать первый элемент с удалением так, чтобы он был разный для всех потоков? Я так понимаю, что вариант предложенный @35xakers - то же не решит вопрос?
Это элементарная задача - решается с помощью использования ресурсов. Когда используете ресурс, то БАС сам следит за тем чтобы он был разным для всех потоков. Что может быть проще?
Я пробовал загружать ресурс в список в онапликатионстарт - но переменные не работают - пробовал так же создать глобальную переменную в онапликатионстарт и присвоить ей значение переменной содержащей список - то же не але... Где вход, где выход???
Зачем пытаться сделать сложно, там где можно сделать легко?
А может копирование данных здесь не причем? - копирование данных из ресурса в буферный список - это само собой разумеющееся - но потоки использовали именно список а не ресурс - соответственно если копирование ресурса в список делать вне онапликатионстарт - то данное действие будет делать каждый поток - но переменная списка у нас одна - и если один из потоков уже взял данные со списка а второй их туда перенес с ресурса - то там снова появиться уже использованная строка, а если это сделать в онапликатионстарт - то действие выполниться один раз до запуска многопотока.
Какую цель вы ставите перед собой делая эти действия?
Скорее всего Вам это покажется бредом - я не настаиваю на правильности того что изложил - я просто показываю как это видел я, до того как Вы скинули пример - и если так думал я, человек без навыков кодирования - то так могут думать и другие простые пользователи. И мне до сих пор непонятно - почему не удалось сделать как делал я?
Потому что когда вы загружаете список в ресурс, то это просто копия ресурса и там могут быть ресурсы, которые другой поток использует сейчас.
В онапликатионстарт делаем ресурс в список - присваиваем список в глобальную переменную и используем ее в основном проекте для всех потоков - то есть используем виртуальный список - берем с него первый элемент с удалением - (там даже галочка такая есть).... - - - Это я все веду к тому, что Вы ООООЧЕНЬ СЛОЖНО реализуете программу - каждый раз что-то пытаясь сделать - я начинаю чувствовать себя обезьяной с гранатой или дауном - хотя судя по тому, что я администрирую сайты и вношу изменения в штмл и цсс, причем удачно - таким не являюсь, хотя кто знает))).
Это сделано для того, чтобы удалять дубликаты. Можно сделать проще - дописывать данные в файл сразу. Небольшой костыль пока не OnApplicationEnd
Вот простой пример - использования авторизации по печенькам - да у меня чуть материнка в голове не пригорела - я как простой пользователь это вижу так:
загрузил сайт - ввел логин и пароль - авторизовался - записал кукисы в файл - это все понятно - далее авторизация по кукисам - 1е действие - загрузил кукисы - 2ое действие загрузил сайт - ВСЕ!!! - Кукисы уже были загружены в браузер - авторизация прошла успешно - Можно ли так сделать? - Это просто и логично в моем понимании) ВЕДЬ ИСПОЛЬЗОВАНИЕ ПРОКСИ РЕАЛИЗОВАНО ИМЕННО ТАК!!! СДЕЛАЙТЕ ТАК ЖЕ С КУКИСАМИ!!!!
Так и есть, но в том примере, что я сбрасывал поверх этого сделано несколько улучшений.
1). Проверка того, существует ли файл с куками.
2). Разные файлы для разных пользователей.
3). Проверка того, был ли выполнен вход.
4). Если сессия устарели вход все равно может быть выполнен с помощью логина и пароля.
5). Поддержка логинов, которые могут содержать символы запрещенные
Если начнете с тех 2 действий, которые описали, а потом будете добавлять фичи по одной, получится такая функция, как в примере.