- 博客(3)
- 收藏
- 关注
原创 如何利用内存池和共享内存构建高速的进程间通信模型
先聊聊内存池吧,c++把内存管理的职责交给了我们,虽然给我们带来了很多麻烦,但是同样也给了我们很大的发挥空间,对于一个长期运行的系统来说,在一段时间后,堆的内存碎片会随着我们不断的申请和释放空间而越来越多,这就造成了我们的申请内存的消耗越来越大,对于这种问题,我们可以用内存池来解决。 c++内存池的关键就在于重载new操作符,看一个简单的例子:#ifndef __POOL_O...
2017-06-25 12:36:17 5093
原创 伪共享的产生原因和优化方案
一 flase sharing产生原因 在谈到false sharing问题之前我们先说cpu缓存的问题。 CPU 缓存(Cache Memory)是位于 CPU 与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。高速缓存的出现主要是为了解决 CPU 运算速度与内存读写速度不匹配的矛盾,因为 CPU 运算速度要比内存读写速度快很多,这样会使 CPU...
2017-06-17 19:53:23 2461
原创 c++11 多线程基础
在c++11中,c++标准库中就增加了关于多线程的一些操作,在此之前我们不得不调用系统底层的多线程函数,或者用第三方的线程库,多少还是有些不便,现在我们可以用标准库中的多线程函数来开发多线程程序了。下面就介绍一下基本的用法。#include #include void thread_test(int a,int b){ std::cout << "thread_test:a +
2017-06-04 16:37:23 843
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人