- 博客(5)
- 资源 (1)
- 收藏
- 关注
转载 一个Linux下C线程池的实现
from:邹鑫的专栏 什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_work
2009-12-18 11:19:00
1681
2
转载 Reactor模式
by 张亮前面讲到,整个libevent本身就是一个Reactor,因此本节将专门对Reactor模式进行必要的介绍,并列出libevnet中的几个重要组件和Reactor的对应关系,在后面的章节中可能还会提到本节介绍的基本概念。1 Reactor的事件处理机制首先来回想一下普通函数调用的机制:程序调用某函数?函数执行,程序等待?函数将结果和控制权返回给程序?程序继续处理。Reactor释
2009-12-17 19:44:00
12980
3
转载 Linux slab 分配器剖析
良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux® 内核使用了源自于 Solaris 的一种方法,但是这种方法在嵌入式系统中已经使用了很长时间了,它是将内存作为对象按照大小进行分配。本文将探索 slab 分配器背后所采用的思想,并介绍这种方法提供的接口和用法。动态内存管理内存管理的目
2009-12-10 23:43:00
1613
1
原创 LRU算法总结及其C算法实现
LRU是关于操作系统的内存管理,如何节省利用容量不大的内存为最多的进程提供资源,一直是研究的重要方向的其中一种算法。在操作系统开发和管理的时候,为了提高内存的使用率,提高内存的性能,就需要使用某种算法来管理。使用扩展内存或者虚拟内存能够极大的方便操作系统对内存的管理和提高内存的能力,也就是常常我们说的虚拟内存了。当程序载入的时候,这个时候操作系统会读取一部分到内存中,一些信息段会存储需要调用
2009-12-10 23:23:00
14471
1
原创 SGI源码注释之stl_vector.h初窥
template class _Vector_alloc_base {public: typedef typename _Alloc_traits::allocator_type allocator_type; allocator_type get_allocator() const { return _M_data_allocator; }
2009-10-28 21:40:00
1140
C语言程序设计PPT(08版)
2009-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人