本文整理汇总了C#中ConcurrentDictionary.ShouldContainKeyValue方法的典型用法代码示例。如果您正苦于以下问题:C# ConcurrentDictionary.ShouldContainKeyValue方法的具体用法?C# ConcurrentDictionary.ShouldContainKeyValue怎么用?C# ConcurrentDictionary.ShouldContainKeyValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConcurrentDictionary
的用法示例。
在下文中一共展示了ConcurrentDictionary.ShouldContainKeyValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ShouldGetPartitionsForKeys
/// <remarks>
/// * Validation is done by running the loop in parallel using 'Parallel.For(..'.
/// * Keys are generated in clustered distribution using 'Guid(a,b,c,d,e,f,g,h,j,k)' by changing the 'c'.
/// The sample size is run twice, first time in order to populate and second time to compare with the
/// results of the first run.
/// </remarks>
public static DistributionStore<int> ShouldGetPartitionsForKeys(this IPartitionConnectionProvider provider, short sampleSize)
{
var partitionDistribution = new DistributionStore<int>();
var partitionMap = new ConcurrentDictionary<Guid, int>();
// should populate (most likely as there is only slight chance of clashing with keys from other specs) & return
Parallel.For(0, sampleSize, i =>
{
var key = new Guid(22, 43, (short) i, 1, 2, 3, 4, 5, 6, 7, 8);
var partition = provider.GetConnection(key).Connection.ExtractPartitionFromConnection();
partitionMap[key] = partition;
partitionDistribution.Add(partition);
});
// should return already existing
Parallel.For(0, sampleSize, i =>
{
var key = new Guid(22, 43, (short) i, 1, 2, 3, 4, 5, 6, 7, 8);
var partition = provider.GetConnection(key).Connection.ExtractPartitionFromConnection();
partitionMap.ShouldContainKeyValue(key, partition);
});
return partitionDistribution;
}