Вопросы по теме 'finalizer'

Статический финализатор
Как правильно выполнить статическую финализацию? Статического деструктора нет. Событие AppDomain.DomainUnload не возникает в домене по умолчанию. Событие AppDomain.ProcessExit делит общее время трех секунд (настройки по умолчанию) между всеми...
15951 просмотров
schedule 21.02.2022

Удобный способ вызова GC::KeepAlive в сценариях C++/CLI?
Я пишу некоторые управляемые оболочки, используя C++/CLI. Проблема в том, что сборщик мусора иногда удаляет объект, пока я использую из него неуправляемые члены. (Я считаю такое поведение безумием, но это уже другая тема). Подробнее см.:...
920 просмотров
schedule 19.12.2022

Финализаторы, обращающиеся к управляемому материалу
Я хорошо знаю, что финализаторы обычно используются для управления неуправляемыми ресурсами. При каких обстоятельствах финализатор может работать с управляемыми? Насколько я понимаю, присутствие в очереди финализатора предотвратит сбор любого...
721 просмотров
schedule 20.02.2022

Проблема с блоком finalize
Я читал «Эффективное программирование на Java» Джошуа Блоха. В этой книге он советует не использовать блок «finalize», поскольку его выполнение не гарантируется. Может ли кто-нибудь объяснить немного больше об этом или дать ссылку на какую-то статью,...
976 просмотров
schedule 15.07.2022

Всегда ли выполняются финализаторы .net?
Гарантировано ли выполнение финализаторов в .NET в какой-то момент (перебои в подаче электроэнергии и т.п.)? Я знаю, как работает сборщик мусора, и что не детерминировано, когда именно они будут работать. (Поиск не дал хороших ответов, поэтому я...
2043 просмотров
schedule 17.10.2022

Что вызывает InvalidComObjectException: COM-объект, который был отделен от его основного RCW, не может быть использован.?
Я рассмотрел различные вопросы, в которых упоминается это конкретное исключение ( в этом вопросе перечислены многие из них , которые я посетил). Кроме того, у меня такой же общий вопрос, как в этом сообщении , но в другом контексте, поэтому ответ...
2957 просмотров
schedule 04.03.2023

android Завершение курсора, который не был деактивирован или закрыт
Привет всем, у меня возникла эта проблема.... Может ли кто-нибудь сказать мне, в чем причина проблемы, пожалуйста....???? 08-14 16:50:12.797: ERROR/Cursor(4453): Finalizing a Cursor that has not been deactivated or closed. database =...
1601 просмотров
schedule 10.10.2023

Почему структуры не могут иметь деструкторов?
Как вы думаете, какой лучший ответ на интервью на такой вопрос? Я думаю, что не нашел копию этого здесь, если есть, пожалуйста, дайте ссылку.
16791 просмотров
schedule 09.06.2022

Finalizer выдает случайные исключения, вызывает случайные ошибки, зависает приложение
У меня есть класс на C++/CLI, который использует неуправляемые ресурсы (HANDLE для собственного потока (т.е. из CreateThread()) и LPVOID для волокна из CreateFiber/ConvertThreadToFiber). По совету, который я получил от MSDN , я очищаю...
161 просмотров
schedule 29.09.2022

Как использовать Finalize с управляемыми ресурсами?
Я не на 100 % понимаю, как экземпляр класса A может существовать до тех пор, пока не будет завершен последний экземпляр класса B . Или, другими словами, я бы хотел, чтобы все B вызывали методы close&dispose в A внутри финализации B ... и...
674 просмотров
schedule 04.01.2024

Следует ли использовать Dispose только для типов, содержащих неуправляемые ресурсы?
Недавно я обсуждал с коллегой значение Dispose и типы, реализующие IDisposable . Я думаю, что есть смысл в реализации IDisposable для типов, которые следует очищать как можно скорее, даже если нет неуправляемых ресурсов для очистки . Мой...
4489 просмотров

Будет ли объект подвергаться сборке мусора, если я сохраню ссылку на него в его методе finalize?
Возможный дубликат: ссылка на объект во время финализации У меня есть объект, который подходит для сборки мусора, но в его методе finalize я сохраняю ссылку на этот объект, скажем, вызывая arrayList.add(this) . Будет ли объект...
177 просмотров

Как правильно уничтожить класс
В Ruby у меня есть класс DAO, который расширяется классом, упрощающим управление соединениями, который расширяется классом, представляющим и управляющим данными в БД, который дополнительно расширяется другим классом. Если использовать метафору...
4729 просмотров
schedule 03.08.2022

Утечки памяти в C# при использовании определенного класса C++/CLI с финализатором
Когда я реализую класс в С++/CLI DLL: public ref class DummyClass { protected: !DummyClass() { // some dummy code: std::cout << "hello" << std::endl; } } и когда я загружаю эту DLL в проект С# и...
758 просмотров

Завершение очереди застряло
недавно мы обнаружили, что одно из наших серверных приложений (то есть служба Windows) не удалось с исключением OutOfMemory. Мы попытались выяснить, что происходит, и в итоге мы обнаружили, что объекты в очереди финализации не были финализированы,...
3268 просмотров
schedule 15.06.2022

Безопасно утилизируйте в финализаторе .net
Я хотел найти способ разорвать цепочку IDisposable , где какой-то вложенный класс, от которого вы внезапно зависите, теперь реализует IDisposable , и вы не хотите, чтобы этот интерфейс волновал слои вашего композита. По сути, у меня слабые...
677 просмотров

Освобождается ли объектная память, когда мы явно вызываем для нее finalize ()?
Насколько я понимаю, finalize () и GC - это два разных аспекта. GC использует метод finalize () для освобождения памяти объекта. Мы не можем сказать, когда произойдет сборка мусора (даже если мы явно вызываем System.gc ()). Но мы можем явно вызвать...
3672 просмотров
schedule 23.05.2022

Может ли простая разница в именах переменных Python3 изменить способ выполнения кода?
Этот код... class Person: num_of_people = 0 def __init__(self, name): self.name = name Person.num_of_people += 1 def __del__(self): Person.num_of_people -= 1 def __str__(self): return 'Hello, my...
1065 просмотров
schedule 04.05.2022

Правило 7 эффективного Java: избегайте финализаторов
В этой удивительной книге автор Джош Блох упоминает: "О, и еще одно: использование финализаторов серьезно снижает производительность. На моей машине время создания и уничтожения простого объекта составляет около 5,6 нс. Добавление финализатора...
1128 просмотров

Как удалить/освободить/завершить неуправляемые ресурсы, когда общее значение выходит за рамки
У меня есть тип, который инкапсулирует ключ к внешнему ресурсу. Как только ключ потерян (все значения, которые его разделяют, выходят за пределы области действия), ресурс должен быть освобожден (неявно) при следующей сборке мусора, как это делает...
202 просмотров