linux c编程之高效线程池如何实现无琐化( 二 )

(4) 环形队列
源码中环形队列实现主要参考了linux内核中kfifo的实现,如下图所示:

linux c编程之高效线程池如何实现无琐化

文章插图
 
队列长度为2的整次幂,out和in下标一直递增至越界后回转,其类型为unsigned int,即out指针一直追赶in指针,out和in映射至FiFo的对应下标处,其间的元素即为队列元素 。




推荐阅读