Добрый день.
Есть проект, который обрабатывает таблицу, которая берется из файла (csv) на локальном диске.
![tabl.jpg](/discussion/data/attachments/3/3798-03a9d3da8d106afb06215dea2889408a.jpg)
Есть два списка которые тоже привязаны к файлам на локальном диске.
![kei.png](/discussion/data/attachments/3/3799-0b09e7d9c3a7dd22f03254fb8bbdcbcd.jpg)
![rez.png](/discussion/data/attachments/3/3800-8683fb9832c6eb7e7f3c3dfbafd8fa0e.jpg)
Из первого списка "Ключ" бралась первая строка, заносилась в переменную "KEI" и удалялась.
Значение из переменной заносилось в конец списка "Результат".
![v rez origin.jpg](/discussion/data/attachments/3/3801-2a08df94b0cffc4e51adfab57c5259fa.jpg)
Дальше переменная "KEI" сравнивается с данными в таблице и нужные данные из таблицы заносятся в список "Результат".
![v rez KEI3.jpg](/discussion/data/attachments/3/3802-88198559f6402d7ac116545a725e12ce.jpg)
Дальше бралась вторая строка из списка ключ. Дальше третья и так пока не закончатся строки. В итоге список результат принимал следующий вид:
Строка из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 2
Нужные данные из таблицы по Первой строке из списка "Ключ" 3
Нужные данные из таблицы по Первой строке из списка "Ключ" 4
Строка из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 1
Нужные данные из таблицы по Второй строке из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 3
Строка из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 1
Нужные данные из таблицы по Третьей строке из списка "Ключ" 2
Нужные данные из таблицы по Третьей строке из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 4
Нужные данные из таблицы по Третьей строке из списка "Ключ" 5
и т.д.
Но это работает только если один поток. Если "включаю многопоточность", то все в списке "Результат" перемешивается.
Как-то так получается:
Строка из списка "Ключ" 1
Строка из списка "Ключ" 2
Строка из списка "Ключ" 3
Нужные данные из таблицы по Второй строке из списка "Ключ" 1
Нужные данные из таблицы по Третьей строке из списка "Ключ" 5
Нужные данные из таблицы по Третьей строке из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 4
Нужные данные из таблицы по Первой строке из списка "Ключ" 1
Нужные данные из таблицы по Второй строке из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 3
Нужные данные из таблицы по Первой строке из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 2
Нужные данные из таблицы по Третьей строке из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 4
Нужные данные из таблицы по Первой строке из списка "Ключ" 2
Подскажите как при нескольких потоках записывать в список "Результат", который привязан к файлу на диске, чтобы было как при работе одного потока.
![rez.png](/discussion/data/attachments/3/3800-8683fb9832c6eb7e7f3c3dfbafd8fa0e.jpg)
Т.е. так:
Строка из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 2
Нужные данные из таблицы по Первой строке из списка "Ключ" 3
Нужные данные из таблицы по Первой строке из списка "Ключ" 4
Строка из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 1
Нужные данные из таблицы по Второй строке из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 3
Строка из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 1
Нужные данные из таблицы по Третьей строке из списка "Ключ" 2
Нужные данные из таблицы по Третьей строке из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 4
Нужные данные из таблицы по Третьей строке из списка "Ключ" 5
Есть проект, который обрабатывает таблицу, которая берется из файла (csv) на локальном диске.
![tabl.jpg](/discussion/data/attachments/3/3798-03a9d3da8d106afb06215dea2889408a.jpg)
Есть два списка которые тоже привязаны к файлам на локальном диске.
![kei.png](/discussion/data/attachments/3/3799-0b09e7d9c3a7dd22f03254fb8bbdcbcd.jpg)
![rez.png](/discussion/data/attachments/3/3800-8683fb9832c6eb7e7f3c3dfbafd8fa0e.jpg)
Из первого списка "Ключ" бралась первая строка, заносилась в переменную "KEI" и удалялась.
Значение из переменной заносилось в конец списка "Результат".
![v rez origin.jpg](/discussion/data/attachments/3/3801-2a08df94b0cffc4e51adfab57c5259fa.jpg)
Дальше переменная "KEI" сравнивается с данными в таблице и нужные данные из таблицы заносятся в список "Результат".
![v rez KEI3.jpg](/discussion/data/attachments/3/3802-88198559f6402d7ac116545a725e12ce.jpg)
Дальше бралась вторая строка из списка ключ. Дальше третья и так пока не закончатся строки. В итоге список результат принимал следующий вид:
Строка из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 2
Нужные данные из таблицы по Первой строке из списка "Ключ" 3
Нужные данные из таблицы по Первой строке из списка "Ключ" 4
Строка из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 1
Нужные данные из таблицы по Второй строке из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 3
Строка из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 1
Нужные данные из таблицы по Третьей строке из списка "Ключ" 2
Нужные данные из таблицы по Третьей строке из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 4
Нужные данные из таблицы по Третьей строке из списка "Ключ" 5
и т.д.
Но это работает только если один поток. Если "включаю многопоточность", то все в списке "Результат" перемешивается.
Как-то так получается:
Строка из списка "Ключ" 1
Строка из списка "Ключ" 2
Строка из списка "Ключ" 3
Нужные данные из таблицы по Второй строке из списка "Ключ" 1
Нужные данные из таблицы по Третьей строке из списка "Ключ" 5
Нужные данные из таблицы по Третьей строке из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 4
Нужные данные из таблицы по Первой строке из списка "Ключ" 1
Нужные данные из таблицы по Второй строке из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 3
Нужные данные из таблицы по Первой строке из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 2
Нужные данные из таблицы по Третьей строке из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 4
Нужные данные из таблицы по Первой строке из списка "Ключ" 2
Подскажите как при нескольких потоках записывать в список "Результат", который привязан к файлу на диске, чтобы было как при работе одного потока.
![rez.png](/discussion/data/attachments/3/3800-8683fb9832c6eb7e7f3c3dfbafd8fa0e.jpg)
Т.е. так:
Строка из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 1
Нужные данные из таблицы по Первой строке из списка "Ключ" 2
Нужные данные из таблицы по Первой строке из списка "Ключ" 3
Нужные данные из таблицы по Первой строке из списка "Ключ" 4
Строка из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 1
Нужные данные из таблицы по Второй строке из списка "Ключ" 2
Нужные данные из таблицы по Второй строке из списка "Ключ" 3
Строка из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 1
Нужные данные из таблицы по Третьей строке из списка "Ключ" 2
Нужные данные из таблицы по Третьей строке из списка "Ключ" 3
Нужные данные из таблицы по Третьей строке из списка "Ключ" 4
Нужные данные из таблицы по Третьей строке из списка "Ключ" 5