axe
Ноя. 10, 2008 14:45:42
приложение создаёт несколько потоков. в потоках выполняются обращения к БД
для обращений к БД создаётся несколько курсоров. курсоры лежат в списке.
возникает вопрос - как определить, какой из курсоров в настоящий момент можно использовать.
если поток обращается к курсору, который в настоящий момент обрабатывает запрос, то возникает ошибка.
хотелось бы иметь проверку, - если курсор свободен, то используем его,
если занят, то идти проверять следующий курсор.
shiza
Ноя. 10, 2008 15:51:11
сделать списки занятых и свободных курсоров?
slivlen
Ноя. 10, 2008 15:52:05
Создай для каждого курсора
Lock и используй его неблокирующую проверку.
axe
Сен. 28, 2010 13:30:28
Вопрос был решён по-другому: создан список, из которого по необходимости изымается курсор.
Когда курсор выполнил запрос, то он возращается в список.
Андрей Светлов
Сен. 28, 2010 16:25:01
работа со списком локом прикрыта? Или вы проверили код и убедились, что все происходит атомарно?
PooH
Сен. 29, 2010 06:15:55
Скажите, а зачем держать пул курсоров? Создание курсора тяжелая операция? Просто про пул подключений знаю, а про пул курсоров первый раз слышу.