Зависает при работе с большим списком

Чешир

Client
Регистрация
27.06.2014
Сообщения
1 634
Благодарностей
963
Баллы
113
Есть список 70 мбт, около 7млн. строк
В начале проекта из списка берется подсписок 25 тыс. строк.
Происходит этот процесс минут 8, в это время все другие потоки всех проектов не запускаются. Т.е. они стартуют, но работа не идет, они ждут, когда из списка будут взяты эти строчки.
При этом ресурсов у машины достаточно, проц. и оперативка заняты немного.
Это нормально и можно ли как-то это изменить, чтобы и другие проекты работали?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Это нормально. В экшенах используется общепрограммный лок, который распространён на все проекты на все операции со списками в экшенах. Соответственно пока производится выборка и лок активен, другие операции со списком недоступны. Нужно переходить в область c#, создавать свой лок, который будет распространён сугубо на этот проект, и обернуть конструкцию кода по выборке подсписка в этот лок
 

Чешир

Client
Регистрация
27.06.2014
Сообщения
1 634
Благодарностей
963
Баллы
113
понял. Разбил на части кейвордкипером
 

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