摘要:
Barriers,字面意思为“壁垒,屏障,栅栏”,在计算机领域中 Barriers 也有它独特的含义,具体来讲,在并行程序中,Barriers 是一种同步的手段,可被视为一种线程同步原语,如一组线程/进程的 Barrier 可以用来同步该线程/进程组,只有当该线程/进程组中所有线程到达屏障点(可称之为同步点)时,整个程序才得以继续执行。 阅读全文
随笔分类 - Linux&C
200 行 C 代码实现插件式 NOSQL 存储服务器(一)
2012-11-24 22:30 by Haippy, 4288 阅读, 收藏, 编辑
摘要:
初一看,你肯定会觉得作者在忽悠人吧,200 行 C 代码居然可以实现插件式 NOSQL 存储服务器?是的,200 行 C 代码确实可以做到,但只能是一个极其简单的代码框架而已,不过感兴趣的同鞋可以在此基础上进行扩展。 阅读全文
如何在Linux下实现你的线程池(Step By Step,Pthread)
2012-09-28 20:39 by Haippy, 3796 阅读, 收藏, 编辑
摘要:
200行C代码就可以实现线程池?开玩笑吧?不,告诉你,我是认真的,200行C代码真的可以实现一个简单可用的线程池!!! 阅读全文
如何将 Linux 内核实现的红黑树 rbtree 运用到你的 C 程序中?
2012-09-02 23:48 by Haippy, 20227 阅读, 收藏, 编辑
摘要:
相信大家都知道红黑树是什么吧,但是呢......如果你确实不知道,你不该穿越到这儿的,你应该去这里,这里,还有这里看看,然后再来这里看看,最后如果大爷您赏脸,再来看看我吧 :-) 阅读全文
如何使用 indent 美化你的代码
2012-08-29 21:45 by Haippy, 6111 阅读, 收藏, 编辑
摘要:
代码也需要风格(各种 C 代码风格),经常纠结自己的代码排版不美观,作为一名十分“固执”的程序员,自己在写 C 代码的时候甚至连 #include 头文件顺序都要按拼音序排列,有时候花了很多时间手工检查自己的代码排版风格,虽然是件费力讨好的事,但是宝贵的时间浪费掉了。 阅读全文
三行代码实现C语言单元测试框架
2012-08-23 22:49 by Haippy, 5661 阅读, 收藏, 编辑
摘要:
三行代码实现C语言单元测试框架?对,你没有听错,三行代码确实可以实现一个简单的C语言的测试框架。 阅读全文
LRU算法的简单实现( C语言 + uthash包)
2012-01-12 21:20 by Haippy, 6037 阅读, 收藏, 编辑
摘要:
LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频繁的页面很可能在后面的几条指令中频繁使用。 阅读全文
epoll 使用详解
2012-01-09 16:32 by Haippy, 45348 阅读, 收藏, 编辑
摘要:
epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操作所需 O(n) 不同, epoll能在O(1)时间内完成操作,所以性能相当高),epoll 与 FreeBSD的kqueue类似,都向用户空间提供了自己的文件描述符来进行操作。 阅读全文
自己动手实现读写锁(read-write lock)
2011-12-17 11:04 by Haippy, 7167 阅读, 收藏, 编辑
摘要:
很多时候,我们的进程并不需要改变它所访问的数据结构,它们只是以只读的方式访问某一变量或结构某字段,此时如果多个进程同时申请访问相同的数据,为了效率起见,我们可以让这些进程同时访问它们所需要的数据,而不需要进行加锁和解锁操作,自旋锁并不区分进程是读访问还是写访问,此时使用自旋锁是很不明智的,所以精心设计的读写锁便发挥了作用。 阅读全文
IBM developerWorks 文章转载系列(一)
2011-12-04 20:56 by Haippy, 949 阅读, 收藏, 编辑
摘要:
了解 STAB 和 DWARF 这两种流行调试格式的更多信息。了解如何调试和分析构成 DWARF 和 STAB 格式的 UNIX 可执行文件。对于处理编译器和调试器的程序员以及对读取或写入 DWARF 和 STAB 信息感兴趣的任何人,本文内容非常有用。 阅读全文
How to use epoll? A complete example in C
2011-09-22 10:51 by Haippy, 1207 阅读, 收藏, 编辑
摘要:
epoll的详细用法,完整 C 例程说明。 阅读全文