网站首页 文章专栏 聊聊线程池(二)
聊聊线程池(二)
编辑时间:2021-12-01 23:09:56 作者:qicosmos 4条评论


    出自:purecpp.cn

    地址: www.purecpp.cn

    转载请注明出处!


来说两句吧
登录才能发表评论。
最新评论
  • qicosmos
    hxbj 2021-12-02 23:14:54

    请问可以使用非T类型模板来合并两个push吗?

    template <typename U>
    void push(U item) {
        {
            std::scoped_lock lock(mtx_);
            queue_.push(std::forward<U>(item));
        }
        cond_.notify_one();
    }
  • qicosmos
    qicosmos 2021-12-04 09:47:41

    这个思路是可以的,但是你这个U应该改成U&&,同时还要加一个static_assert来保证T和U的类型是一样的。@hxbj

  • qicosmos
    Skykey 2021-12-13 09:26:04
    催更work steal版本
  • qicosmos
    xukeawsl 2022-07-26 02:12:20
    为啥用 scoped_lock 呢,这里不是没有涉及到多个锁争用嘛
Absolutely

purecpp

一个很酷的modern c++开源社区


[社区开源项目列表,点击前往]


purecpp社区自2015年创办以来,以“Newer is Better”为理念,相信新技术可以改变世界,一直致力于现代C++研究、应用和技术创新,期望通过现代C++的技术创新来提高企业生产力和效率。


社区坚持只发表原创技术文章,已经累计发表了一千多篇原创C++技术文章;


组织了十几场的C++沙龙和C++大会,有力地促进了国内外C++开发者之间的技术交流;


开源了十几个现代C++项目,被近百家公司所使用,有力地推动了现代C++在企业中的应用。


期待更多的C++爱好者能参与到社区C++社区的建设中来,一起为现代C++开源项目添砖加瓦,一起完善C++基础设施和生态圈。


微信公众号:purecpp, 社区邮箱: purecpp@163.com


友情链接