13日の更新で新しくPreviewになったReliableConcurrentQueueを試してみる。
ReliableQueueとの違い
ReliableConcurrentQueueはFirst In First Outの順序がベストエフォートになっており、ReliableQueueのように厳密ではない分、複数のConsumerとProducerが同時実行できるようになっているようです。
コード
using Microsoft.ServiceFabric.Data.Collections.Preview;
var queue = await this.StateManager.GetOrAddAsync<IReliableConcurrentQueue<string>>("myQueue");
var count = queue.Count; // プロパティでカウントがとれる
ReliableQueueとはインターフェースが若干違い、カウントをとるのはGetCountAsync
メソッドではなくCount
プロパティでとれるようになっています。また、TryPeekAsync
メソッドはなくピーク処理(削除なしに先頭を読む)はできなくなっています。