无锁编程

  研究下无锁编程,方向是消息队列,读写者的问题。现在有成熟的方案,就是ringBuffer,环形队列。还有是重写数据结构的,从底层改变,使用一些原语。boost就实现了几个无锁的数据结构。没有锁就需要原语,赋值语句和比较语句算不算原子操作呢?boost是把autoIncrement用汇编实现的,有没有必要?环形队列是理想的方法,在网络编程中还是很实用的。他针对的问题虽然很局限,实际上只有一个写者一个读者,但是足够了。大部分时候还是考虑把锁的粒度降到最低才是正确的方向。只有极端情况下,比如大量高速数据的读写者再考虑无锁编程的实现。
  发掘了koder网站,收录的代码很多,但是搜索功能太烂,只能碰运气。google code的代码好像都是主流的开源工程的代码,搜索不错。

你可能感兴趣的:(数据结构,编程,Google)