Frage

Googeln finden nichts. Sind sie am Verwendungsort erstellt, oder sind die allgemeinen Teile geteilt zwischen Instanzen?

(Das Gleiche gilt für Template-Klassen?)

War es hilfreich?

Lösung

Template-Funktionen werden bei der Kompilierung erstellt. Die Vorlage Eigenschaft ist vollständig orthogonal-Sicherheitsfaden.

Andere Tipps

Sie sind nicht mehr oder weniger Thread-sicher als jede andere Art von Funktion.

Der einzige Weg, ich Thread-Sicherheit denken kann davon betroffen wird, ist, dass, wenn someMethod<typename T>() nicht Thread-sicher war, dann wäre es noch in Ordnung zu sein für ein Thread auf someMethod<int>() zu arbeiten, während ein anderer auf someMethod<std:string>() gearbeitet, solange der Mangel an Thread-Sicherheit kam nicht von ihrem beide Aufruf in eine nicht-Templat-Funktion.

Die Situation, in etwas anderes ist garantiert, dass nur ein Thread zu einem Zeitpunkt, um eine bestimmte Aufgabe mit einer bestimmten Art tut scheint ziemlich unwahrscheinlich, aber.

Template-Funktionen sind einfach ... Vorlagen vom Compiler verwendet „normale“ Funktionen zu erzeugen. So ist es das gleiche wie normale Funktionen ist, gibt es keinen Unterschied.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top