Доступные версии документации

Параллельная обработка запросов (многопоточность)

Средства встроенного SQL позволяют выполнять параллельную обработку нескольких запросов к одной БД или к различным БД. Однако поддержка операционной системой многопоточного режима является всего лишь необходимым, но не достаточным условием распараллеливания обработки запросов в приложении. Приложение, претендующее на многопоточную обработку запросов, должно дополнительно выполнить следующие условия:

  • для организации многопоточной обработки использовать предназначенные для этой цели специальные средства встроенного SQL и соблюдать некоторые ограничения, накладываемые на общие структуры данных;

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

Многопоточные приложения имеют несколько потоков, выполняемых в общем адресном пространстве. Потоки являются подпроцессами, которые осуществляются внутри процесса. Они используют общие сегменты кода и данных, но имеют собственные стеки. Глобальные и статические переменные являются общими для всех потоков, поэтому требуется собственный специфичный механизм управления подобными переменными из разных потоков внутри приложения. Также требуется особый механизм синхронизации обработки, чтобы обеспечить целостность данных.

Анализ результатов обработки запросов в потоке

Для анализа результатов обработки запросов в потоке используются те же псевдопеременные, что и для однопоточного приложения. Особенность состоит в том, что для каждого контекста они имеют собственные значения.

Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter