清空一个集合

时间:2017-04-11 11:15:18

标签: c# queue

受此https://stackoverflow.com/a/5852926/291415的启发, 我做了一个FixedSizeQueue,当它达到配置的大小时会自行清空。它会在当时触发一个事件。

public new void Enqueue( T obj )
{
    base.Enqueue( obj );
    lock ( syncObject )
    {
        if ( base.Count > Size )
        {
            for ( int i = 0; i < Size; i++ )
            {
                T outObj;
                base.TryDequeue( out outObj );
                ItemsList.Add( outObj );
            }
            OnExportItems( new ExportEventArgs<T>( ItemsList ) );
            ResetItemsList();
        }
    }
}

这很好用。

但是有一种情况是排队的项目数小于队列的大小。

在这种情况下我应该如何刷新队列? 每x毫秒检查一次队列并触发清空的计时器?

0 个答案:

没有答案