Обработчики событий BackgroundWorker - PullRequest
2 голосов
/ 20 января 2010

У меня есть объект BackgroundWorker, который я создал для выполнения процесса БД в фоновом потоке асинхронно. У меня есть обработчики событий для DoWor k и RunWorkerCompleted.

Я могу сказать, что BackgroundWorker избавляется от себя, потому что я добавил MessageBox в обработчик событий Disposed.

Мой вопрос такой:

Необходимо ли отсоединять обработчики событий, чтобы обеспечить очистку памяти и отсутствие утечек памяти?

1 Ответ

6 голосов
/ 20 января 2010

Если событие publisher подвергается сборке мусора, тогда отпадает необходимость отписываться. Отказаться от подписки на события нужно только в том случае, если событие subscriber (цель делегата обработчика) должно получить право на сборку мусора, прежде чем это сделает издатель.

...