2016-05-19 1 views
-1

Служба Windows использует .Net управляемые объекты, такие как сокеты, потоки, мониторы, семафоры. У меня есть два вопроса, связанных с этими объектами.Реализовать IDisposable.Dispose для отсрочки потоков

  1. ли мы реализовать IDisposable.Dispose на классах с использованием выше управляемых объектов, чтобы освободить их для того, чтобы помочь при остановке службы.

  2. У нас также есть потоки, ожидающие на мониторах. Если мы не остановимся/не выходим из них до выхода, сборщик мусора очистит их?

ответ

0

Когда вы используете IDisposables, вы должны располагать их где-нибудь. Если они являются ссылками в полях, вам обычно нужно реализовать IDisposable в этом классе и размещать их там. Потоки должны быть остановлены (например, с помощью события сброса) и соединены.

+0

Мой вопрос в том, что я использую потоки и мониторы. Подождите, так как мне нужно писать одноразовые на этих классах, чтобы очистить их до остановки службы. – pats