Это походит на хорошее развлечение.
Несколько вопросов:
Несколько фактов кажется важным для меня:
, Несколько комментариев прибыли ко мне:
Насколько я понимаю, в первом примере осуществляется доступ только к локальному хранилищу потока и переменным на основе стека, а во втором - только к переменным на основе стека.
Оба должны быть потокобезопасными. .
Я не могу сказать, является ли GetByID потокобезопасным или нет. Посмотрите, имеет ли он доступ к общим / статическим ресурсам. Если да, то без дополнительного кода для защиты этих ресурсов потокобезопасен.
Приведенный выше код не содержит кода, который изменяет глобальное состояние , поэтому вы можете быть уверены, что это не вызовет проблем с вызовом множественные одновременные потоки. Информация о принципале безопасности привязана к каждому потоку, поэтому и здесь нет проблем.