Форум сайта python.su
приложение создаёт несколько потоков. в потоках выполняются обращения к БД
для обращений к БД создаётся несколько курсоров. курсоры лежат в списке.
возникает вопрос - как определить, какой из курсоров в настоящий момент можно использовать.
если поток обращается к курсору, который в настоящий момент обрабатывает запрос, то возникает ошибка.
хотелось бы иметь проверку, - если курсор свободен, то используем его,
если занят, то идти проверять следующий курсор.
Офлайн
сделать списки занятых и свободных курсоров?
Офлайн
Создай для каждого курсора Lock и используй его неблокирующую проверку.
Офлайн
Вопрос был решён по-другому: создан список, из которого по необходимости изымается курсор.
Когда курсор выполнил запрос, то он возращается в список.
Офлайн
работа со списком локом прикрыта? Или вы проверили код и убедились, что все происходит атомарно?
Офлайн
Скажите, а зачем держать пул курсоров? Создание курсора тяжелая операция? Просто про пул подключений знаю, а про пул курсоров первый раз слышу.
Офлайн