【发布时间】:2012-11-28 10:15:28
【问题描述】:
例如,如果向服务器发出 3 个请求,这是否意味着将 3 个 Web 应用程序实例放入内存?
如果你使用了一个锁定的单例或者缓存了一个类,所以每次它检查对象是否存在并且如果它不存在就创建对象,这是否意味着每个请求都缓存了对象?还是缓存一次并为每个请求重用?
如果我锁定了一个单例,这是否意味着使用单例的对象被创建一次并且每个请求都使用相同的对象?或者这是否意味着该对象是为每个请求使用单例创建的,但不是由同一个线程再次创建的?
如果我使用System.Web.HttpRuntime.Cache["key"];
缓存一个 1 mb 的对象并发出 10 个请求,我是否在服务器上使用了 10 mb 的内存?如果我使用单例创建了一个新对象...在线程和内存分配方面会发生什么?
【问题讨论】:
标签: c# asp.net multithreading caching memory