Это в основном ради любопытства, так как есть лучшие способы реализации практически любого варианта использования, который я могу придумать для этой конструкции (в C # и других языках, которые я использую по крайней мере регулярно), но недавно я увидел здесь: мьютекс в области видимости , который был классной концепцией.
Мой вопрос заключается в том, поддерживает ли оператор using ссылку (то есть: запрещает ли запуск ГХ) на объект, на который он действует?
Например, если бы я должен был сделать:
using (new ScopedMutex())
{
// ...
}
будет ли объект ScopedMutex поддерживать свое существование до конца используемого блока, или GC может запустить и утилизировать его в середине блока?