Можно попросить .NET запретить сборку мусора во время выполнения определенного раздела кода. Это полезно, если вы выполняете задачу, чувствительную ко времени. Windows, macOS и Linux не являются ОС реального времени, поэтому никаких гарантий быть не может, но временное выключение сборщиков мусора в критические моменты может тем не менее оказаться полезным для снижения вероятности того, что все замедлится в самый нужный момент. Имейте в виду, что этот механизм работает, передвигая вперед любую работу сборщика мусора, которая в противном случае произошла бы в соответствующем разделе кода, поэтому это может привести к более ранним задержкам, связанным со сборкой мусора. Это лишь гарантирует, что после того, как обозначенная область кода начнет работать, и если выполняются определенные требования, больше не будет происходить сборок мусора. По сути, задержки устраняются прежде, чем начинается чувствительная ко времени работа.
Программируем на C# 8.0. Разработка приложений
·
Иэн Гриффитс