Поделиться через


Архитектура задач и потоков

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

Когда операционная система выполняет экземпляр приложения, она создает модуль, называемый процессом, для управления экземпляром. Процесс имеет поток выполнения. Это ряд программных команд, выполненных кодом приложения. Например, если простое приложение имеет один набор команд, которые могут быть выполнены последовательно, есть только один путь выполнения или поток приложения. Более сложные приложения могут иметь несколько задач, которые могут выполняться одновременно, а не последовательно. Приложение может сделать это, запуская отдельные процессы для каждой задачи. Однако запуск процесса — это ресурсоемкая операция. Вместо этого приложение может запустить отдельные потоки. Они относительно менее ресурсоемки. Кроме этого, каждый поток можно запланировать для выполнения независимо от других потоков, связанных с процессом.

Потоки позволяют сложным приложениям более эффективно использовать ЦП, даже на компьютерах с одним ЦП. С одним ЦП только один поток может выполняться одновременно. Если один поток выполняет длительную операцию, которая не использует ЦП, например считывание с диска или запись на диск, другой поток может выполняться, пока первая операция не завершится. Возможность выполнять потоки, в то время как другие потоки ожидают завершения операции, позволяет приложению увеличить использование ЦП. Это особенно касается многопользовательских приложений, интенсивно использующих операции дискового ввода-вывода, например сервера базы данных. Компьютеры, имеющие несколько микропроцессоров или ЦП, могут выполнять одновременно по одному потоку на каждом ЦП. Например, если компьютер имеет восемь ЦП, он может выполнять одновременно восемь потоков.

В этом разделе

Подраздел Описание

Работа с расписаниями задач и пакетов SQL Server

Описывает, как потоки или волокна планируются для пакетов или задач.

Распределение потоков ЦП

Описывает, как операционная система равномерно распределяет потоки экземпляров SQL Server среди ЦП на компьютере. Также описывает параметр конфигурации affinity mask.

Параметр lightweight pooling

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

Основные сведения о неоднородном доступе к памяти

Описывает изменения, сделанные в SQL Server 2005 для поддержки архитектуры неоднородного доступа к памяти (NUMA).

Выполнение потоков и волокон

Описывает, как выполняются потоки или волокна, и описывает параметр, используемый для установки приоритета выполнения.

См. также

Основные понятия

Архитектура ядра реляционной СУБД

Справка и поддержка

Получение помощи по SQL Server 2005