
C/C++
文章平均质量分 83
pre_lc
这个作者很懒,什么都没留下…
展开
-
C++11下的线程池以及灵活的functional + bind + lamda
最近学习了一些C++11的文章,急着动手玩一玩。这次,打算利用boost的thread实现一个线程类,维护一个任务队列,以便可以承载非常灵活的调用。这个线程类可以方便的为后面的线程池打好基础。线程池还是动态均衡,没有什么别的。由于minGW 4.7 对 C++11 thread 不支持,所以采用 boost 代替,linux 下是支持的,只是名字空间不同而已,套路都一样。先上代码:转载 2014-03-17 09:07:28 · 643 阅读 · 0 评论 -
线程池
线程池:创建一定数量(建议:CPU个数 * 2)的线程去执行很多个任务,它通常面向的是一个队列。一个典型的用法是,有许多个任务远超过线程池数量,将任务放进队列,多个线程则不断的从队列中取出任务执行,直到所有任务都完成,线程可以终止或者睡眠等待新任务的到来。线程池的伸缩性对性能有较大的影响。创建太多线程,将会浪费一定的资源,有些线程未被充分使用。銷毀太多執行緒,將導致之後浪費转载 2014-03-17 09:25:17 · 463 阅读 · 0 评论 -
C++0x FAQ中文版:std::function 和 std::bind
C++0x FAQ中文版:std::function 和 std::bind - [C++11 FAQ]加入微群学C++,更有趣,更轻松:)此博客已经停止更新,并乔迁新址http://chenlq.net,感谢大家对本博客的喜爱,希望在新的站点能够继续和大家一起交流学习。谢谢大家:)std::function 和 std::bind标准库函数bind转载 2014-03-17 10:10:55 · 404 阅读 · 0 评论 -
C++11 FAQ中文版:共享资源的智能指针——shared_ptr
三13Year 2011陈 良乔C++11 FAQ共享资源的智能指针——shared_ptrshared_ptr被用来表示共享的拥有权。也就是说,当两段代码都需要访问一些数据,而它们又都没有独占该数据的所有权(从某种意义上来说就是该段代码负责销毁该对象)。这是我们就需要shared_ptr。shared_ptr是一种计数指针。当引用计数变为0时,shared_ptr所指向的转载 2014-03-17 13:29:20 · 429 阅读 · 0 评论 -
c++回调函数 callback
C++中实现回调机制的几种方式(1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型。比如下面的示例代码,我们在Download完成时需要触发一个通知外面的事件:[cpp] view plaincopytypedef voi转载 2014-04-14 11:05:16 · 468 阅读 · 0 评论 -
标准C++实现C#代理机制
说明翻译 2014-04-14 12:41:00 · 743 阅读 · 0 评论