Похоже, вопрос здесь в том, что вы вызываете Config::GetSafeRuleRegex
для одного Config
экземпляра из нескольких потоков и задаетесь вопросом, безопасно ли это.
В этом сценарии нет ничего опасного в yield return
. Каждый поток, который вызывает GetSafeRuleRegex
, получит отдельный экземпляр итератора. Безопасно создавать их в нескольких потоках, если экземпляр используется только в том потоке, в котором он создан.
Могут быть проблемы с другим кодом в GetSafeRuleRegex
. Однако это зависит от деталей реализации Config
, которые не ясны из этого вопроса.