Согласно MSDN :
Любая общедоступная статика (Shared в Visual
Основные) члены этого типа являются потоками
безопасный. Любые члены экземпляра не являются
гарантированно безопасен для потоков.
Итак, вам нужно синхронизировать доступ к методам сериализации / десериализации.
Определяли ли вы конкретные проблемы с производительностью, каждый раз создавая локальный экземпляр сериализатора?
UPDATE:
Я бы доверял MSDN, потому что даже если в некоторых случаях мы можем проверить, что члены экземпляра могут быть поточно-ориентированными, это не значит, что со следующей версией пакета обновления / обновления / фреймворка это продолжится.
Взгляд с помощью Reflector на конструктор BinaryFormatter:
public BinaryFormatter()
{
this.m_typeFormat = FormatterTypeStyle.TypesAlways;
this.m_securityLevel = TypeFilterLevel.Full;
this.m_surrogates = null;
this.m_context = new StreamingContext(StreamingContextStates.All);
}
И конструктор StreamingContext:
public StreamingContext(StreamingContextStates state, object additional)
{
this.m_state = state;
this.m_additionalContext = additional;
}
Откровенно говоря, присвоение 6 свойств (большинство из которых enums
) должно быть ослепительно быстрым. ИМХО большую часть времени будет уделено методам сериализации / десериализации.