OpenSession просто возвращает новый объект и передает поля из SessionFactoryImpl.Эти поля, кажется, не изменяются в любом месте (за исключением конструктора), так что это кажется потокобезопасным.Предварительным условием является то, что settings.CacheProvider.NextTimestamp()
и sessionLocalInterceptor.SetSession(session);
также являются поточно-ориентированными, поскольку они потенциально могут быть изменены в некоторых из перегруженных вызовов OpenSession.
Есть место для некоторых условий гонки по крайней мере на .Dispose / .Close.1005 *