의 System.Text.Encoding 다른 스레드의 동일한 Encoding
개체를 사용하는 것이 안전합니까? , Encoding.GetString()
Encoding.GetBytes()
를 호출하고 XmlWriter
(XmlWriter.Create(myStream, new XmlWriterSettings() { Encoding = myEncoding })
같은 만든.스레드 안전성 및 C#
MSDN 사이트와 일부 XML 쓰기, 내 말은 "사용"으로
는 "모든 인스턴스 멤버는 스레드로부터 안전이 보장되지 않는다"고 주장한다 .
그래서, 어떻게 안전하게 동시에 두 개의 XML 문서를 작성할 수 있습니다 (감사합니다!)가 국적을 상실하도록 설계로
감사합니다. 나는 단지 확신하고 싶었지만 다른 곳에서는 확인을 찾을 수 없었습니다. – thaller
그래도 되니? 'Encoding'의 정적 속성은 스레드로부터 안전합니다. 그렇다고해서 해당 속성에 의해 노출 된 객체가 스레드로부터 안전하다는 것을 의미하지는 않습니다. 나는 * 큰 수의 문자열을 병렬로 인코딩해야하며'Utf8Encoding' 인스턴스의 인스턴스를 엄청 많이 만들지는 않습니다. – casperOne
@casperOne : 두 가지 질문 : 1) 'Encoding.UTF8'은 매번 새로운 인코딩을 제공한다는 것을 알고 계십니까? 2) 매번 새로운 인스턴스를 생성하는 것이 문제가되는지 여부를 실제로 측정 했습니까? –