2016-05-19 50 views
-1

我的Windows服務正在使用.Net託管對象,如套接字,線程,監視器,信號量。我有兩個與這些對象有關的問題。實現IDisposable.Dispose釋放等待的線程

  1. 難道我們必須實現對使用上述管理對象,釋放出來,以協助當該服務停止類IDisposable.Dispose。

  2. 我們也有在顯示器上等待的線程。如果我們在退出之前不停止/退出它們,垃圾收集器會清理它們嗎?

回答

0

當您使用IDisposables時,您應該將它們放置在某處。如果它們是字段中的引用,那麼通常需要在該類中實現IDisposable並將其置於那裏。應該停止線程(使用例如重置事件)並加入。

+0

我的問題是,如果我正在使用線程和monitors.wait作爲字段,我必須在這些類上寫一次性只是爲了在服務停止之前清理它們。 – pats