Question

Mon hypothèse est que les variables de classe ("class var") ont une mémoire véritablement globale (c'est-à-dire une instance pour l'ensemble de l'application).

Mais je me demande si tel est le cas ou s'il s'agit d'un stockage thread (par exemple, similaire à un "threadvar") - instance unique par thread.

Quelqu'un sait?

Éditer: modifié " portée " à " stockage " comme c'est en fait la terminologie correcte, et ce que je recherche (merci Barry)

Était-ce utile?

La solution

Oui, les variables de classe ont une portée globale. Consultez la source RTL pour plus de détails sur la mise en œuvre de threadvars. Sous Win32, chaque thread peut se voir allouer automatiquement un bloc de mémoire lors de sa création. Cette zone de données supplémentaire est utilisée pour contenir vos threadvars.

Autres conseils

Les variables de classe sont définies en fonction de leurs attributs de visibilité de membre et disposent d'un stockage global, et non d'un stockage de thread.

Scope est un concept syntaxique, et concerne les identifiants visibles depuis où. C’est le stockage de la variable qui nous préoccupe ici.

Les variables de classe ressemblent aux classes: globales et uniques pour l'application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top