Si vous le regardez du point de vue des détails internes du processeur, il définit une valeur différente pour le registre du segment de code (le CS). Le code et le registre CS:IP (Instruction Pointer) sont ceux qui sont en cours d'exécution par le processeur.
(Par souci de brièveté, j'ai choisi de ne pas aborder la discussion relative aux tables des pages).
AppDomain marque cette limite. pour la sécurité du code.
La raison pour laquelle nous donnons ce contexte est de nous débarrasser des questions de ce genre : 1. comment pouvons-nous accéder à une ressource à travers deux domaines d'application (oui, en utilisant des tuyaux ou d'autres mécanismes de partage, mais pas directement, car CS:IP ne peut pas être défini sur un autre domaine d'application. C'est seulement le système d'exploitation qui peut le faire. Pas le CLR)
-
Pourrait-il y avoir plusieurs fils dans le domaine de l'application. Techniquement oui, car la valeur CS sera dans le processus actuel. Vous pouvez changer l'IP en quelque chose d'autre par une déclaration de saut (combinaison appel de fonction/goto).
-
deux threads dans deux domaines d'application différents peuvent-ils communiquer (non, voir point 1) ?
-
Deux threads d'un même domaine d'application peuvent-ils communiquer (oui, voir point 2) ?
plusieurs autres combin combinaisons de ces cas pourraient répondre à peu de connaissances sur le fonctionnement de CS:IP.