D2 verwendet standardmäßig den lokalen Thread, während C, C ++ und D1 standardmäßig den globalen Speicher verwenden.
Einer der Unterschiede ist, dass eine globale Variable in D für andere Threads sichtbar ist, während TLS nicht.
istDas hört sich nicht nach viel an, aber versuchen Sie es mit einer C-Bibliothek zu verbinden, ohne dies zu bemerken. (unveränderlich ist. global auch)
IME __gshared existiert so gut wie nur dazu, etwas zu globalisieren, wenn es normalerweise nicht funktioniert.
kann es andere Verwendungen geben, aber ich habe keine gesehen.
Ein Beispiel wäre eine globale Variable in einem C-Header. Wenn Sie versuchen, mit ihm zu interagieren, benötigen Sie unveränderlich oder __gshared. Es gibt natürlich andere Möglichkeiten, aber das ist wahrscheinlich am einfachsten.