文件名称:基于自定义Unity生存期模型PerCallContextLifeTimeManager的问题
文件大小:67KB
文件格式:PDF
更新时间:2024-01-22 16:58:14
al ex ext
PerThreadLifetimeManager的问题使用Unity内置的PerThreadLifetimeManager生存期模型时,其基于ThreadStatic的TLS(Thread Local Storage)设计,也就是说对于每个托管的ManagedThreadId,其会缓存已生成的对象实例。 由于CLR维护了托管线程池,使用过的线程并不会立即销毁,在需要的时候会继续复用。在类似ASP.NET PerCall或WCF PerCall条件下,当Call1在线程ManagedThreadId1中处理完毕后,Call2发生,而Call2很有可能也在线程ManagedThreadId1中处理