该类库包含线程安全的队列组件。
ThreadSafeQueue是基于Queue开发的线程安全的队列,可以保存数据的引用(非值拷贝),所有数据都以object类型保存在队列中,在出队后仍为object类型,如果读写非object数据时需要类型强转。该队列在容量不够时会自动扩展。
FileLogConfig类 |
|
方法名 |
功能描述 |
Clear |
清空队列 |
Enqueue |
数据入列(对象的引用) |
Dequeue |
数据出列 |
CircularQueue是基于数组开发的线程安全队列,使用泛型实现,可以支持保存除了string以外的对象,保存数据时会进行值拷贝。该队列的大小在构造时已经确定,为了保证不溢出,初始化时可以根据单次写入数据的多少,配置为一个较大的数值。同时该对象实现了IList接口,可以对保存在队列中的数据进行随机读写。
CircularQueue类 |
|
属性名 |
功能描述 |
Count(int) |
获取队列中数据的个数 |
Capacity(int) |
获取队列能容纳的最多元素个数,该参数在构造方法里赋值 |
AutoLock(bool) |
是否使用悲观锁(即自动获取操作的锁),默认为true |
BlockWait(bool) |
读取数据时,如果数据不够是否阻塞读取线程,默认为true |
方法名 |
功能描述 |
Clear |
清空队列。 |
Enqueue |
数据入列。如果获取锁超时,抛出异常 |
TryEnqueue |
数据入列。如果获取锁超时,返回false,否则返回true |
Dequeue |
数据出列,如果获取锁超时,抛出异常 |
TryDequeue |
数据出列,如果获取锁超时,返回false,否则返回true |
Enter |
乐观锁模式下获取操作队列的锁,超时抛出异常 |
TryEnter |
乐观锁模式下获取操作队列的锁,超时返回false |
Leave |
乐观锁模式下释放操作队列的锁。 |