在初始化期间稍后使用,或者事先创建一个集合实例的专家和小组是什么。
我有一整套线程,每个线程都需要输出一个缓冲区,该缓冲区在优先级或intervalheap队列中排队。我想知道在c#中创建一个大小为2048的X型循环缓冲区是否会更有效,并且只需写入每个缓冲区并稍后重用,或允许每个线程动态创建缓冲区并入队它,即在必要时创建它们,并允许按照正常清理。
我知道GC会尝试消失预先创建的循环队列。我以前遇到过奇怪的调试问题,寻找不再存在的对象,因为GC按照它去掉了它。
任何帮助或建议将不胜感激。
鲍勃。
答案 0 :(得分:1)
GC不会删除你仍然引用的对象 - 换句话说,如果你能够使用预先创建的缓冲区,它就不会被垃圾收集 - 除非你当然有一个WeakReference
。
你知道这根本就是性能瓶颈吗?为什么不编写最先用的最简单的代码,并测量它的执行情况呢?