Ist es sicher, das gleiche Objekt Encoding
aus verschiedenen Threads zu verwenden?Gewindesicherheit und System.Text.Encoding in C#
von „using“ Ich meine, rief Encoding.GetString()
, Encoding.GetBytes()
und einige XML mit einer XmlWriter
(erstellt durch so etwas wie XmlWriter.Create(myStream, new XmlWriterSettings() { Encoding = myEncoding })
schreiben.
die MSDN-Website heißt es: „Für Instanzelemente nicht Thread-sicher sein, sind garantiert“ .
Also, wie kann ich sicher gleichzeitig zwei XML-Dokumente schreibt (danke !!)
Vielen Dank !! Ich wollte nur sicher sein, aber ich konnte nirgendwo anders eine Bestätigung finden. – thaller
Ist es aber? Die statischen Eigenschaften von 'Encoding' sind Thread-sicher, aber das bedeutet nicht, dass die Objekte, die durch diese Eigenschaften verfügbar gemacht werden, Thread-sicher sind. Ich bin in einer Situation, wo ich eine * große * Anzahl von Strings parallel kodieren muss und ich will nicht Tonnen von Instanzen der 'Utf8Encoding' Instanz erstellen. – casperOne
@casperOne: Zwei Fragen: 1) Weißt du, dass 'Encoding.UTF8' tatsächlich jedes Mal eine neue Kodierung gibt; 2) Haben Sie tatsächlich * gemessen *, ob es ein Problem wäre, jedes Mal eine neue Instanz zu erstellen, selbst wenn dies der Fall ist? –