高效编程
yuxing_hui
喜欢思考,总结,请关注我的博客
展开
-
不使用系统API来实现互斥保护功能
一般临界资源的互斥保护,需要使用类似take_mutex / give_mutex 类似的系统API来实现,一般需要从用户空间切换到内核空间,有时候可能要关中断等,为了实现一个开销小的,实现简单的临界资源的互斥保护机制,我设计了一个方法,希望大家能参考一下,给点建议。volatile int a = 0;volatile int b = 0;/* 线程 A */void原创 2008-04-02 14:45:00 · 733 阅读 · 2 评论 -
环形buffer的管理
环形buffer这个数据结构经常被用到,环形buffer一般用数组来实现,需要有一个头指针和尾指针,如果带一个计数器来表示环形buffer可用的元素个数,那么整个buffer都可以被有效使用,但对计算器的访问需要加互斥保护,如果没有计数器,为了区别buffer空和满的情况,必须要留一个元素空间不使用,这个在数据结构的书上都有分析,有没有办法使得我们在使用环形buffer原创 2008-04-02 14:44:00 · 1470 阅读 · 0 评论