当前位置: 首页>>代码示例>>C#>>正文


C# BlockingCollection<T>.TryTakeFromAny方法代码示例

本文整理汇总了C#中System.Collections.Concurrent.BlockingCollection<T>.TryTakeFromAny方法的典型用法代码示例。如果您正苦于以下问题:C# BlockingCollection<T>.TryTakeFromAny方法的具体用法?C# BlockingCollection<T>.TryTakeFromAny怎么用?C# BlockingCollection<T>.TryTakeFromAny使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Collections.Concurrent.BlockingCollection<T>的用法示例。


在下文中一共展示了BlockingCollection<T>.TryTakeFromAny方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: BC_FromToAny

class FromToAnyDemo
{
    // Demonstrates:
    //      Bounded BlockingCollection<T>
    //      BlockingCollection<T>.TryAddToAny()
    //      BlockingCollection<T>.TryTakeFromAny()
    public static void BC_FromToAny()
    {
        BlockingCollection<int>[] bcs = new BlockingCollection<int>[2];
        bcs[0] = new BlockingCollection<int>(5); // collection bounded to 5 items
        bcs[1] = new BlockingCollection<int>(5); // collection bounded to 5 items

        // Should be able to add 10 items w/o blocking
        int numFailures = 0;
        for (int i = 0; i < 10; i++)
        {
            if (BlockingCollection<int>.TryAddToAny(bcs, i) == -1) numFailures++;
        }
        Console.WriteLine("TryAddToAny: {0} failures (should be 0)", numFailures);

        // Should be able to retrieve 10 items
        int numItems = 0;
        int item;
        while (BlockingCollection<int>.TryTakeFromAny(bcs, out item) != -1) numItems++;
        Console.WriteLine("TryTakeFromAny: retrieved {0} items (should be 10)", numItems);
    }
}
开发者ID:.NET开发者,项目名称:System.Collections.Concurrent,代码行数:27,代码来源:BlockingCollection.TryTakeFromAny


注:本文中的System.Collections.Concurrent.BlockingCollection<T>.TryTakeFromAny方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。