zoukankan      html  css  js  c++  java
  • 关于C++线程池的实现的思考

      今天突然对前些日子一直很疑惑的c++线程池有了新的想法。其实所谓的线程池无非就是两个技术点,一个,多线程,指工作线程和主线程分离,或者说数据接收和处理分两个线程,一般就是讲需要运行的函数放到子线程执行,这个在C++目前版本可以用std::thread来实现。另外一个是池,池子嘛,可以反复装东西,也就是子线程的服用问题,可以这样考虑,在线程池类中添加一个队列,用来存储需要执行的函数,然后顺序执行(私以为可能要考虑平均负荷来考虑需要开多少条子线程处理),主线程数据进来了,可以把新的处理函数加入这个处理队列。

      另外一个问题,就是线程同步问题。目前我能想到那么几种手法。
        1.navie法,添加互斥量,用一个公用锁,只要保证队列的同步就好了。

        2.高贵的C11给我们提供的方法,std::condition_variable,这个能达到的目的是one by one,小胖友排排坐的感觉,当然,其中还是用了一个mutex。

     

    可以图形化看到的东西坚决不会用命令行ORZ

  • 相关阅读:
    POJ2828
    Docker容器修改端口映射
    CentOS 7使用ISO镜像配置本地yum源
    Windows 自带的 Linux 子系统
    vue富文本编辑器插件vue-quill-editor使用
    修改docker容器存放位置
    Linux 硬盘相关操作
    centos7基础相关
    ubuntu-k8s搭建
    redhat 6.6 离线docker
  • 原文地址:https://www.cnblogs.com/IGNB/p/11591836.html
Copyright © 2011-2022 走看看