小巧的 C++线程池

2017-05-23 17:35:24 +08:00
 leohotfn

https://github.com/leohotfn/Reuzel 欢迎来 star 和 fork!

2473 次点击
所在节点    C
12 条回复
chchwy
2017-05-23 17:44:21 +08:00
只有 Linux 阿...
000wangxinyu000
2017-05-23 17:47:22 +08:00
将 task 封装成抽象类,每次 addTask 传入子类对象。子类中可以保存一些与任务相关的状态变量。
000wangxinyu000
2017-05-23 17:48:27 +08:00
将与系统相关的 api 都封装起来,例如锁类和线程类。在不同的平台有不同的实现。
000wangxinyu000
2017-05-23 17:49:08 +08:00
然后加入一些日志以及性能监控之类的功能,就越来越复杂了
AngelCriss
2017-05-23 17:50:35 +08:00
https://github.com/abbycin/tools/tree/master/threadpool
我也贴一个,给点意见啊。。
luoqeng
2017-05-23 19:37:54 +08:00
std::thread
zmj1316
2017-05-23 20:22:49 +08:00
pthread ...
araraloren
2017-05-24 08:45:08 +08:00
linux only 也叫 feature 吗 - - ?
gesse
2017-05-24 09:35:37 +08:00


半个月不到的个人小众项目, 一下刷到 111 stars,v2ex 小伙伴太给力了, 不过感觉是不是有碍公平? 扰乱平台?
sgissb1
2017-05-24 10:07:22 +08:00
@gesse 关键估计哥们看了 boost 里面的代码,虽然代码量不大,但确实能看到部分 boost 写法的影子。一个简易的线程池,如果是出于学习和研究的目的,还是值得鼓励。

但如果出于其他目的就拉倒了。

这年头号称会用、懂线程的人太多了,但线程粒度也不算大,要玩转也不容易。看看代码就可以决定要不要 satr、fork 了。
popstk
2017-05-24 13:37:30 +08:00
https://github.com/log4cplus/ThreadPool 这个充分使用 C++11 语法,更加轻量仅一个头文件。
timothyqiu
2017-05-24 15:41:09 +08:00
既然已经用了 C++11 了,为什么还要自己造轮子不用 std::thread 系列……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/363265

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX