Unity中的PerThreadLifetimeManager
在Unity PerThreadLifetimeManager文档中,我读到:“ 此生命周期管理器不会处置它所拥有的实例 ”。 参考: http : //msdn.microsoft.com/en-us/library/ff647854.aspx
因此,如果我使用的是ThreadPool,是否意味着在返回池中之前,在ThreadPool的Thread上使用Unity解析的对象将不会在该线程的完成工作结束时处理掉?
任何模式或想法如何我可以确保对象确实被处置并从线程池中获得一个干净的线程?
谢谢!
这取决于终身经理的类型 。 PerThreadLifetimeManager为每个线程维护一个实例。 有六种类型的终身经理,但这并不意味着如果他们不适合你就不能自己做。
好像你想要TransientLifetimeManager ,它为每次调用提供一个新实例。 您可以在工作线程中调用Resolve,使用实例,并在方法退出之前处置它。
我不确定你是否可以创建一个生命周期管理器,以某种方式自动地知道你的线程已经完成执行。 确保这种情况发生的最好方法是创建一个方法包装器,1)从Unity获取实例(使用TransientLifetimeManager),执行传递实例的Action
上述就是C#学习教程:Unity中的PerThreadLifetimeManager分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/998810.html