2016-05-19 47 views
-1

我的Windows服务正在使用.Net托管对象,如套接字,线程,监视器,信号量。我有两个与这些对象有关的问题。实现IDisposable.Dispose释放等待的线程

  1. 难道我们必须实现对使用上述管理对象,释放出来,以协助当该服务停止类IDisposable.Dispose。

  2. 我们也有在显示器上等待的线程。如果我们在退出之前不停止/退出它们,垃圾收集器会清理它们吗?

回答

0

当您使用IDisposables时,您应该将它们放置在某处。如果它们是字段中的引用,那么通常需要在该类中实现IDisposable并将其置于那里。应该停止线程(使用例如重置事件)并加入。

+0

我的问题是,如果我正在使用线程和monitors.wait作为字段,我必须在这些类上写一次性只是为了在服务停止之前清理它们。 – pats