官方文档

为实现 IProducerConsumerCollection<T> 的线程安全集合提供阻塞和限制功能。

通过 BlockingCollection<T> 实现列队调用函数

建立全局变量

BlockingCollection<string> blockingCollection = new BlockingCollection<string>();

建立调用函数,用来向队列中添加信息。

void Do(string str){

  if (blockingCollection.IsAddingCompleted)
  {
    return;
  }
  blockingCollection.Add(str); //添加队列信息

}

在需要调用的函数新建线程,并运行

void ThreadLog()
{
  foreach (string value in blockingCollection.GetConsumingEnumerable())
  {
    AppLog(value); //执行需要调用的函数
  }
  blockingCollection.Dispose();  //关闭接受才会执行,微软要求释放资源
}

关闭接受

blockingCollection.CompleteAdding();

转载于:https://www.cnblogs.com/z45281625/p/11045244.html

BlockingCollectionT 类实现 列队操作相关推荐

  1. File IO(NIO.2):路径类 和 路径操作

    路径类 Java SE 7版本中引入的Path类是java.nio.file包的主要入口点之一.如果您的应用程序使用文件I / O,您将需要了解此类的强大功能. 版本注意:如果您有使用java.io. ...

  2. 【Android 插件化】Hook 插件化框架 ( 反射工具类 | 反射常用操作整理 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  3. java jni 方法描述,五、JNI提供的函数介绍(一):类和对象操作

    如果你要开始JNI编程,你还需要了解JNI提供了哪些函数供你调用. 这些函数都定义在了jni.h文件,包括上一篇文章介绍的数据类型,也都在这个头文件中. 类和对象操作 假设你要在JNI层使用C代码创建 ...

  4. 元素的样式设置 元素类样式的操作 开关灯效果 获取兄弟元素 当前元素的兄弟元素样式

    元素的样式设置 <!DOCTYPE html> <html lang="en"> <head><meta charset="UT ...

  5. C#中Marshal 类的内存操作的一般功能概述

    Marshal 类的内存操作的一般功能 Marshal类 提供了一个方法集,这些方法用于分配非托管内存.复制非托管内存块.将托管类型转换为非托管类型,此外还提供了在与非托管代码交互时使用的其他杂项方法 ...

  6. java当中日期类的相关操作(学习笔记)

    一:引言 Calendar类是日历类,提供操作日历字段的方法,其中有常用操作 get 和 set 方法还有 add方法 详细用法请看码 二:上码 package cn.wyj.one;import j ...

  7. Java String类的相关操作

    Java String类的相关操作 一.如何遍历字符串 //法一 String str="hello world"; for(int i=0;i<str.length();i ...

  8. 关于叫号类的PV操作总结

    关于叫号类的PV操作总结 @(OS) 先分析一道题目. 面包师傅有很多面包,由n个推销人员推销.每个顾客进店后取一个号,并且等待叫号.当一个销售人员空闲下来时,就叫下一个号.设计一个使销售人员和顾客同 ...

  9. C# FileInfo类:文件操作

    C# 语言中FileInfo使用类执行典型操作, 例如复制.移动.重命名.创建.打开.删除和追加到文件. File 类是静态类,其成员也是静态的,通过类名即可访问类的成员:FileInfo 类不是静态 ...

最新文章

  1. spring boot 实战 / 可执行war启动参数详解
  2. RewriteCond和13个mod_rewrite应用举例Apache伪静态
  3. 压力传感器变送器读取数据测试:MIK-BSQW
  4. Linux 操作系统原理 — loop 伪设备
  5. [ python ] 正则表达式及re模块
  6. linux重启kvm服务命令,linux中kvm的安装及快照管理
  7. 第九章 隐马尔科夫模型HMM
  8. for循环如果先--_乐字节Java循环:循环控制和嵌套循环
  9. php composer使用过程
  10. PHP扩展插件 imagick 、PDO_MYSQL 安装
  11. 国内少有的Flutter干货分享:Flutter的原理及美团的实践!
  12. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述...
  13. Linux下常用安全策略设置方法
  14. 浅谈Mysql底层索引原理
  15. pdf 修改title
  16. linux系统查看usb转串口驱动,Linux下使用USB转串口驱动的方法
  17. 《灌篮高手》——一部看了n遍的动漫
  18. Flask-SQLAlchemy牛刀小试
  19. 中国传统节日春节网页HTML代码 春节大学生网页设计制作成品下载 学生网页课程设计期末作业下载 DW春节节日网页作业代码下载
  20. java 分转元_java元转分分转元

热门文章

  1. 【PAT - 甲级1034】Head of a Gang (30分)(并查集)
  2. 【POJ - 2785】4 Values whose Sum is 0 (二分,折半枚举)
  3. 【HDU - 1455】Sticks (dfs + 剪枝)
  4. 【HDU -1568】 Fibonacci(斐波那契通项公式+取对数)
  5. esp32 micropython spiffs_spiffs 文件系统在esp32中的应用
  6. mysql libstdc .so.6_编译安装mysql报错 ./mysqld: /usr/lib64/libstdc++.so.6:
  7. 初学多线程使用中踩过的坑
  8. IDEA启动Tomcat AJP连接器配置secretRequired=“true“,但是属性secret确实空或者空字符串,这样的组合是无效的解决办法
  9. 腾讯云服务器数据盘买多了,腾讯云Windows云服务器数据盘分区和格式化
  10. java map与set的区别_Java中的Set,List,Map的区别是什么?