1:场景是有一个线程池,我需要将任务队列中发生读写事件的fd拿出来传递到线程池
正常情况下创建线程时可以指定参数,比如这样

std::thread t(func,arg1,arg2,...)

但是我的fd是在线程已经创建好之后传入,那该怎么办?

线程之间传递数据并不需要什么特殊的手段,因为线程的大部分数据都是共享的,全局变量、静态全局变量和通过指针传递的数据都是可以直接在线程之间共享的。
所以最简单的方法就是定义一个全局的队列,这样每个线程都可以访问到这个队列,主线程把fd写入队列,线程池中的线程都从这个队列中取数据就可以了。当然你也可以把队列的引用通过参数传给每一个线程。
考虑到这个C++标准库的queue不是线程安全的,你可能需要用锁来保证队列的线程安全.

Windows下可以考虑PostThreadMessage

c++ 如何给 “运行中“ 的线程传递数据;相关推荐

  1. 向线程传递数据与线程用回调方法检索数据

    用回调方法检索数据 /**//*用回调方法检索数据 下面的示例演示了一个从线程中检索数据的回调方法.包含数据和线程方法的类的构造函数也接受代表回调方法的委托: 在线程方法结束前,它调用该回调委托. * ...

  2. InheritableThreadLocal类原理简介使用 父子线程传递数据详解 多线程中篇(十八)...

    上一篇文章中对ThreadLocal进行了详尽的介绍,另外还有一个类: InheritableThreadLocal 他是ThreadLocal的子类,那么这个类又有什么作用呢? 测试代码 publi ...

  3. JAVA跨线程传递数据方式总结

    实现跨线程传递数据方式: v1:子线程使用主线程的局部变量 这种当主线程和子线程不在一快儿时就不适用.可以使用JDK原生的InheritableThreadLocal. v2:InheritableT ...

  4. C#中窗体间传递数据的几种方法

    C#中窗体间传递数据的几种方法 在编写C#windows应用程序的时候我们经常会遇到这种问题,怎么样在两个窗体间传递数据呢?以下是我整理的网上的各种方法,在遇到一个实际问题:在form1中打开一个fo ...

  5. props传递对象_vue组件中使用props传递数据的实例详解

    在 Vue 中,父子组件的关系可以总结为 props向下传递,事件向上传递.父组件通过 props 给子组件下发数据,子组件通过事件给父组件发送消息.看看它们是怎么工作的. 一.基本用法 组件不仅仅是 ...

  6. 主线程是如何向子线程传递数据的?_c++ 利用thread创建线程

    用进行多线程开发 小时候,老师总是教育我们上课要专心,"一心不可二用".可是CPU这个不听话的"熊孩子"偏偏却在一个芯片中加入了两个甚至多个运算核心,想要一&q ...

  7. C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)

    BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称.BSS段属于静态内存分配. 数据段 :数据 ...

  8. pthread线程传递数据回主线程_操作系统4:线程(1)

    接下来讨论下线程.进程和线程是一个很有趣的话题,进程和线程的区别到底是什么?一些书上讲线程是"轻量级进程",从而可以节省切换开销.但是线程到底是怎么样成为轻量级进程的呢? 可以设想 ...

  9. c语言代码存放的区域 堆栈,C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)...

    BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称.BSS段属于静态内存分配. 数据段 :数据 ...

最新文章

  1. 人工智能写手,好用吗?
  2. [CF522D]Closest Equals
  3. 基础JavaScript_Day01
  4. 位运算和时间复杂度的分析
  5. logrotate切割日志rsyslog不重新上传,清空归零iCurrOffs
  6. 1-java学习笔记
  7. 内存碎片过高优化的功能和原理
  8. 项目复制引起的访问路径与项目名不一致
  9. 中国邮递员问题+代码实现(cpp)
  10. matlab 汽车理论,汽车理论matlab作业
  11. maya! board_老司机都在用的30款maya常用插件
  12. 免费书签管理工具:浏览器书签杂乱的整理方法
  13. STM32开发环境配置
  14. 微信小程序|借助和风天气开放API接口,实现天气预报
  15. SAP 标准成本、计划成本、目标成本、实际成本计算公式
  16. 卡洛斯·斯利姆·埃卢
  17. mybatis第十话 - mybaits整个事务流程的源码分析
  18. 微服务电商实战(十一)搭建vue项目对接注册登陆接口,解决跨域问题,使用七牛云实现头像上传
  19. Linux文件操作命令及磁盘分区与文件系统
  20. 什么是UNIX时间戳? 时间戳有什么用?

热门文章

  1. [转帖]Mootools源码分析-03 -- Hash
  2. 网站开发之DIV+CSS简单布局网站入门篇(五)
  3. OpenGL ES之GLSL实现仿抖音“分屏滤镜”效果
  4. 【Python2】Keras_ResNet 在Cifar10数据集上分类,Flask框架部署目标检测模型
  5. 【Android】Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法
  6. 【Android基础】Android Toast显示消息的几种方法
  7. python123基本数据类型_python 基本数据类型
  8. xboxone硬盘坏的表现_【32期】硬盘损坏的根源居然是——它!
  9. loop指令 c语言,arm汇编loop指令
  10. 诺基亚n73支持java_JAVA性能 vs 诺基亚N71、E61_诺基亚 N73_手机其它OS-中关村在线