从include/linux/kfifo.h
和lib/kfifo.c
中的实现来看,kfifo_in
和kfifo_put
(或kfifo_out
和kfifo_get
)api之间是否存在差异并不明显。它们基本上具有相似的功能,但因为它们明显存在,所以两者必须有差异。
此外,是不是kfifo_put
提供了类似于循环队列的功能(即,如果队列已满,则等待),而kfifo_in
提供了类似于环形缓冲区的功能(即,如果环已满,则覆盖最旧的条目并将读取指针推到下一个位置)?
最佳答案
处理单个元素;处理多个元素。