Это зависит от того, что делает dcLoader.LoadRecord
.Я собираюсь предположить, что это просто читает некоторые данные и не обновляет никакого состояния, я также предполагаю, что другие обработчики dictDataCentricObject
блокируют этот объект.Если это так, то я думаю, что этот код является поточно-ориентированным.
Если бы dcLoader.LoadRecord
был недорогим, вы могли бы сделать это до блокировки, чтобы улучшить параллелизм.Тем не менее, я подозреваю, что это приводит к обращению к базе данных, поэтому для общей производительности может быть лучше остаться на месте.Это означает, что вызовы функции будут сериализованы при доступе к более дорогому ресурсу.Если и только если это вызывает у вас проблемы с производительностью, вы можете реализовать некоторое кэширование около dcLoader.LoadRecord
.