Ключевые слова: алгоритм метода управления памятью, принятие решений, dispose-паттерн, финализатор, клиент-компонентная модель
Исследование алгоритма Dispose-паттерна при принятии решений управления памятью в клиент-компонентной модели .NET
УДК 519.6; 004.02
DOI: 10.26102/2310-6018/2020.30.3.013
Представлено исследование алгоритма Dispose-паттерна, который используется в теории принятия решений в задачах управления памятью приложений в .NET. В долго работающих приложениях, с избыточным использованием памяти появляются предпосылки для частого запуска сборщика мусора, который работает с управляемыми ресурсами. Неуправляемые ресурсы без явной очистки могут инициировать проблемы памяти при ликвидации связанных с ними управляемых ресурсов. Составлена блок-схема метода очистки, получен алгоритм использования Dispose-паттерна в клиент-компонентной модели. Получены количественные значения различных характеристик работы сборщика мусора таких, как объем физической памяти, величина процессорного времени, максимальная пауза работы процесса и др. Данные собраны на основе приложения, состоящего из компонента и клиента, написанных на языке С#, запущенных в среде Visual Studio. Рассматриваемый компонент совместим с .NET Framework и не является компонентом Component Object Model. Сравниваются результаты работы приложения с запуском финализатора и без него. Полученные результаты помогут лицу, принимающему решение в выборе критерия оценки различных методов управления памятью, формировании однокритериальной или многокритериальной оптимизационной модели при принятии решения.
1. Анализ проблем с памятью .NET Framework. Microsoft. Документация. 2016. Доступно по адресу: https://technet.microsoft.com/ru-ru/evalcenter/dn342825(v=vs.85)/ (дата обращения: 20.06.2020 г.).
2. Костикова А. В. Исторические аспекты развития теории принятия решений. Философия науки, 2014;3(62):16-28.
3. Уотсон Бен. Высокопроизводительный код на платформе .NET. 2-е изд. - СПб.: Питер, 2019:1-416.
4. Atienza D., Mamagkakis S. Dynamic Memory Management Design Methodology for Reduced Memory Footprint in Multimedia and Wireless Network Applications. Computer Science Proceedings Design, Automation and Test in Europe Conference and Exhibition. 2004:1-74.
5. GC.Collect Method. Microsoft. Документация. Доступно по адресу: https://docs.microsoft.com/ru-ru/dotnet/api/system.gc.collect?view=netcore-2.0/ (дата обращения: 15.06.2020 г.).
6. Производительность .NET Framework. Microsoft. Документация. 2017. Доступно по адресу: https://docs.microsoft.com/ru-ru/dotnet/framework/performance/ (дата обращения: 19.07.2020 г.).
7. Албахари Д., Албахари Б. C# 5.0. Справочник. Полное описание языка. :Пер. с англ. - М.:ООО "И. Д. Вильямс", 2014:1-1008.
8. Реализация метода Dispose. Microsoft. Документация. 2020. Доступно по адресу: https://docs.microsoft.com/ru-ru/dotnet/standard/garbage-collection/implementingdispose/ (дата обращения 10.07.2020 г.).
9. Michaelis M. Essential C# 3.0: For .NET Framework 3.5, Pearson Education, Inc., 2009:1- 335.
10. ГОСТ 19.701-90 (ИСО 5807-85) "Единая система программной документации". М.: Стандартинформ, 2010:1-23.
11. Parkinson M. et al. Project Snowflake: Non-blocking Safe Manual Memory Management in .NET. Microsoft Research, 2017:1-40.
Ключевые слова: алгоритм метода управления памятью, принятие решений, dispose-паттерн, финализатор, клиент-компонентная модель
Для цитирования: Попова Е.В. Исследование алгоритма Dispose-паттерна при принятии решений управления памятью в клиент-компонентной модели .NET. Моделирование, оптимизация и информационные технологии. 2020;8(3). URL: https://moit.vivt.ru/wp-content/uploads/2020/08/Popova_3_20_1.pdf DOI: 10.26102/2310-6018/2020.30.3.013
Опубликована 30.09.2020