Восстановить родные ресурсы при завершении процесса? - PullRequest
1 голос
/ 31 марта 2012

Когда я заканчиваю процесс в диспетчере задач, (убивает его)

будет ли он запускать методы dispose или Finilize?

что заканчивается с собственными ресурсами?

будет ли операционная система их чистить?

Ответы [ 3 ]

2 голосов
/ 31 марта 2012

Утилизировать / завершить / что угодно - нет.Их запускать нечего, потому что ОС сначала останавливает или предотвращает запуск всех потоков процесса.Все родные ресурсы ОС связаны с процессом - ручками.память и т. д. затем все освобождаются, и процесс перестает существовать.

Должно быть так, чтобы все пользовательские процессы, независимо от того, как они кодируются или что они делают, могут быть остановлены.ОС не может быть связана с финализаторами и т. Д., В противном случае пользовательские процессы могут быть остановлены.

1 голос
/ 31 марта 2012

Когда вы завершаете процесс с помощью диспетчера задач, обычные процедуры финализации не запускаются. Процесс резко заканчивается. Собственные ресурсы и управляемые ресурсы в этом отношении возвращаются ОС.

1 голос
/ 31 марта 2012

ОС будет отвечать за очистку всего.Методы Finalize не будут запускаться.

Вы не можете ожидать запуска методов Finalize, потому что если ваша программа застрянет в бесконечном цикле, ОС не сможет ее убить.

...