读书人

最快的memorypool内存池实现,该如何处

发布时间: 2012-03-30 17:32:09 作者: rapoo

最快的memorypool内存池实现
linux多线程下适用的内存池,
用什么样的锁最快?或者怎么样设计锁机制?
我现在能想到的内存池是那种基于对象的内存池,和linux的slab差不多,
每个obj都有一个static objpool 对象,通过这个objpool来分配空间,
锁的话用pthread_mutex_lock,感觉锁耗时比较厉害,有没有更好的办法?
原子访问有没用?


[解决办法]
用临界区
[解决办法]
关中断最快,如果你有这个执行权限。

[解决办法]
能不锁就不锁,逻辑结构设计得当的情况下,多数情况是不用锁的,不锁最快.
[解决办法]
最好单线程来访问数据,要不然就用用户模式下的锁,然后在考虑内核锁。

读书人网 >C++

热点推荐