我有一个线程创建具有状态信息的对象(大约每秒一个)并将其添加到ConcurrentQuery。
query.Enqueue(new Tuple<string, DateTime>("some info", DateTime.Now));
另一个步骤会尽可能多地从队列中读取和清除信息(理想情况下也是每秒一次,但在处理完信息后,可能需要更长时间)。来自其他主题:
if (query.TryDequeue(out toSomeTuple))
{
// Process
}
因为这个操作将在应用程序的整个生命周期内进行,所以这会大量分解内存还是垃圾收集器以任何方式解决这个问题?这里有关于如何更好地优化这一点的任何提示?