[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

リングバッファ (ring buffer)

pointこの用語のポイント

point一時的にデータを溜めておく記憶場所だよ

point輪っか構造になっているよ

point最後の次に移動すると最初に戻るよ

point最初の前に移動すると最後に移るよ

スポンサーリンク

簡単に書くよ

リングバッファ (ring buffer)とは

輪っか構造になっていて、最後の要素と最初の要素がつながっているバッファ(一時的にデータを溜めておく記憶場所)のこと
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは「バッファ」から説明します。
「バッファなんて知ってるよ。アレだろ、アレ」な人は、適当に読み飛ばしてください。

バッファは「一時的にデータを溜めておく記憶場所」です。
ゆとりを生み出すために使われます。

よく分からない人は、肉まんを乗せるお皿だと考えてください。

肉まんを乗せるお皿がないと大変です。
作った肉まんは片っ端から平らげる必要があります。
肉まんを置いておく場所がありませんからね。
一息つく余裕がありません。

リングバッファ

お皿があったら、どうでしょう?

作る方は、できあがった肉まんを、お皿に乗せていきます。
食べる方は、お皿に乗っている肉まんを食べます。

リングバッファ2

こうすれば、作る方も食べる方も、ある程度は自分のペースで大丈夫です。
多少タイミングがズレても、お皿の上の肉まんの数が増減するだけです。
一息つけます。

リングバッファ3

この話における、肉まんを乗せるお皿がバッファです。
間に入って緩衝剤の役割をすることで、ゆとりを生み出してくれます。

リングバッファ4

コンピュータの世界におけるバッファは、データの一時保管場所として使われます。

それを踏まえて、輪っか構造になっているバッファがリングバッファです。
循環する構造になっていて、最後を突き抜けると最初に戻ります。
逆に、最初よりも前に移動すると最後に移ります。

リングバッファ5

小難しい説明は他のところに任せるとして、また肉まんを乗せるお皿で考えてみましょう。
リングバッファは、中華料理で使われる回転する円卓にお皿が乗っているイメージです。

リングバッファ6

……顔じゃないですよ。円卓とお皿です。

例えば、円卓にお皿が3枚乗っかっているとします。

リングバッファ7

もう一度書いておきますが、顔じゃないですよ。円卓とお皿です。

この状態で、ピヨ太君は肉まんを作りました。

リングバッファ8

作った肉まんをお皿に乗せます。
1枚目のお皿に乗せました。

リングバッファ9

ピヨ太君は、さらに肉まんを作りました。

リングバッファ10

作った肉まんをお皿に乗せます。
円卓を回転させて、2枚目のお皿に乗せました。

リングバッファ11

ピヨ太君は、さらに肉まんを作りました。

リングバッファ12

作った肉まんをお皿に乗せます。
円卓を回転させて、3枚目のお皿に乗せました。

リングバッファ13

ピヨ太君は、さらに肉まんを作りました。

リングバッファ14

作った肉まんをお皿に乗せます。
円卓を回転させて、4枚目のお皿……は、ありませんね。

3枚目のお皿が目の前にある状態で円卓を回転させると、次に目の前に来るのは1枚目のお皿です。
最初のお皿に戻ります。

リングバッファ15

4個目の肉まんを乗せたければ、1個目の肉まんをどける必要があります。

リングバッファ16

試しに逆に回してみましょうか。
1枚目のお皿が目の前にある状態で、今までと逆方向に回すと、目の前に来るのは3枚目のお皿です。
最後のお皿に移ります。

リングバッファ17

最初と最後が、つながっていますね。

このような輪っか構造になっているバッファが、リングバッファです。
循環バッファ」や「環状バッファ」などと呼ばれる場合もあります。

image piyo2

一言でまとめるよ

まぁ「リングバッファ」って単語が出てきたら「輪っか構造になっているバッファなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク