Скорость работы с таблицей(многопоток)

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
Доброго времени.
Как можно оптимизировать работу таблицей эксель, возможно есть какие либо другие идеи для данной реализации?

Суть работы:
Имеется файл excel, В нём содержится 4 сроки:
Маша - не работает
Петя - не работает
Ольга - не работает
Вася - не работает
Иван - не работает
При работе в многопоточном режиме(5 потоков) происходит поиск по таблице, кто не работает - берём данное имя и меняем значение на "работает".
Поток 1: Меняем Маше статус на "работает"
Поток 2: Ищем по второму столбцу кто не работает и берём его
Поток 3: Ищем по второму столбцу кто не работает и берём его
Поток 2: Меняем Петя статус на "работает"
Поток 1: В конце работы меняем статус Маше на "не работает"
Поток 2: В конце работы меняем статус Пете на "не работает"

Принцип работы такой, но вот видимо из за работы в многопотоке с таблицей(ведь каждый поток ищет по столбцу "занятности" не работающих людей, другие потоки меняют статусы) не успевают корректно работать друг с другом и получается так, что кто то в итоге остается в статусе "работает".

смена статуса на "не работает" по окончанию действий у меня завязано на good и bad end.
 

alex1988

Client
Регистрация
13.07.2014
Сообщения
372
Благодарностей
154
Баллы
43
используй локи
 
  • Спасибо
Реакции: loka23

loka23

Client
Регистрация
02.08.2019
Сообщения
131
Благодарностей
10
Баллы
18
Да, вот как раз нашел инфу, но не совсем пойму, работает лок только с кодом или для кубиков зенно(для работы с таблицей) тоже работает?
И куда лок добавлять? перед чтением или перед сменой статуса в таблице? В шаблоне 3 действия: чтение, смена статуса, смена статуса в конце работы.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 427
Благодарностей
5 453
Баллы
113
Лок на запись.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)