我有一个情况,我正在创建许多封装了每个
一旦对象发出信号表示已完成,它就不再有用,因此由中央管理对象处置并从其引用列表中丢弃。
现在的问题是,如何处理封装的
但是,在事件被其所有者对象发出信号后立即同步执行这样做是否安全?如果仍有线程等待释放(即在调用
这里推荐采取什么方法?
EventWaitHandle
实例的IDisposable
对象,以便我的应用程序的各个感兴趣的部分可以等待它们。此实例对于其所有者对象之外的任何代码都不可直接访问。它只能通过包装器调用间接访问。一旦对象发出信号表示已完成,它就不再有用,因此由中央管理对象处置并从其引用列表中丢弃。
现在的问题是,如何处理封装的
EventWaitHandle
?自然地,它也应该被处置,而且越快越好,以防止我的应用程序泄漏操作系统句柄。但是,在事件被其所有者对象发出信号后立即同步执行这样做是否安全?如果仍有线程等待释放(即在调用
WaitOne()
时阻塞),会发生什么?这里推荐采取什么方法?