Architecture de threads et de tâches
Les threads sont une caractéristique du système d'exploitation qui permettent à la logique de l'application d'être séparée en plusieurs chemins d'exécution simultanés. Cette fonctionnalité est utile lorsque des applications complexes comprennent un grand nombre de tâches à exécuter simultanément.
Lorsqu'un système d'exploitation exécute une instance d'application, il crée une unité appelée processus pour gérer cette instance. Ce processus est associé à un thread d'exécution. Il s'agit de la série d'instructions de programmation exécutées par le code de l'application. Par exemple, si une application simple comprend un seul jeu d'instructions pouvant être exécutées en série, il n'existe qu'un seul chemin d'exécution, ou thread, dans toute l'application. Les applications plus complexes peuvent exécuter plusieurs tâches en même temps, mais pas en série. Pour ce faire, l'application lance plusieurs processus distincts pour chaque tâche. Mais le démarrage d'un processus consomme beaucoup de ressources. Une application peut également lancer plusieurs threads. Les threads consomment relativement peu de ressources. De plus, l'exécution de chaque thread peut être programmée indépendamment des autres threads du même processus.
Les threads permettent aux applications complexes d'utiliser plus efficacement une UC, même sur des ordinateurs dotés d'une seul UC. Avec une UC, vous ne pouvez exécuter qu'un seul thread à la fois. Si un thread exécute une longue opération qui n'utilise pas l'UC, comme par exemple la lecture ou l'écriture sur le disque, un autre thread peut être exécuté avant la fin de la première opération. La possibilité d'exécuter des threads pendant que d'autres attendent la fin d'une opération permet à l'application d'optimiser l'utilisation de l'UC. Cela est particulièrement vrai pour les applications multi-utilisateurs qui utilisent beaucoup d'E/S disque, par exemple un serveur de bases de données. Les ordinateurs dotés de plusieurs microprocesseurs ou UC peuvent exécuter simultanément un thread par UC. Ainsi, si un ordinateur comprend huit UC, il peut exécuter huit threads en même temps.
Dans cette section
Planification de lots ou de tâches SQL Server
Explique comment les threads ou fibres sont programmées pour des traitements ou des tâches.Allocation de threads à une UC
Explique comment le système d'exploitation répartit équitablement les threads des instances de SQL Server entre les microprocesseurs d'un ordinateur. Décrit également l'option de configuration de affinity mask.Utilisation de l'option lightweight pooling
Décrit les conditions dans lesquelles il peut être utile d'activer l'option lightweight pooling.Exécution de threads et de fibres
Explique l'exécution des threads ou des fibres et décrit l'option utilisée pour définir la priorité d'exécution.Ajout d'un processeur à chaud
Décrit la manière dont SQL Server prend en charge l'ajout de processeur à chaud.Recommandations pour l'exécution de SQL Server sur des ordinateurs comportant plus de 64 unités centrales
Fournit des informations sur les meilleures pratiques lors de l'exécution d'une instance de SQL Server sur des ordinateurs comportant plus de 64 unités centrales.