ノンブロッキング
何かやってる最中も処理は進むよ
その「何か」が終わらないと処理を進められなくなったら待つよ
「ブロッキング」の逆だよ
簡単に書くよ
ノンブロッキング(英:non-blocking)とは
「○○している最中も処理は進むけど、○○が終わらないとできない処理になったら待ってるよ~」のこと
です。
詳しく書くよ
サクっと一言で説明すると
○○(通信とか)している最中も処理は進むけど、○○が終わらないとできない処理になったら中断して待っている
のが「ノンブロッキング」です。
一般的には「ノンブロッキング○○」という形で登場します。
「(できるだけ)ブロックしない」と言えばイメージできますかね?
ポイントは
1.○○している最中も処理は進む
2.○○が終わらないとできない処理になったら中断して待つ
の2つです。
例えば、そうですね。
ピヨ太君が
1.洗濯
2.掃除
3.アイロンがけ
の3つの家事をやるとします。
まずは洗濯からです。
ピヨ太君は洗濯機に服とかを放り込んで開始ボタンをポチッと押しました。
次は掃除です。
洗濯機が動き出したら、ピヨ太君は部屋の掃除を始めました。
最後はアイロンがけです。
掃除が終わったらアイロンがけ……と思ったのですが、まだ洗濯機は動いています。
アイロンがけは洗濯が終わった後でないとできませんよね。
ピヨ太君は洗濯が終わるのを、ぼーっとしながら待ちました。
洗濯が終わったら、アイロンがけを始めます。
この話におけるピヨ太君のような動きがノンブロッキングです。
1.洗濯している最中も処理(掃除)は進む
2.洗濯が終わらないとできない処理(アイロンがけ)になったら中断して待つ
ですよね。
ノンブロッキングでは処理が枝分かれするイメージです。
以上で「ノンブロッキング」のざっくりとした説明は終わりですが、せっかくなので「ブロッキング」についても説明しておきます。
余裕がある方は頑張って読んであげてください。
脳みそから煙が出そうな人は無理する必要ありません。
ゆっくり休んでください。
あっ、読んでくださるのですね。
ありがとうございます。
それでは、いってみましょう。
ブロッキングは「○○している最中は他の処理をしないで待ってるよ~」です。
ノンブロッキングの逆ですね。
例えば、そうですね。
ピヨ太君が
1.洗濯
2.掃除
3.アイロンがけ
の3つの家事をやるとします。
まずは洗濯からです。
ピヨ太君は洗濯機に服とかを放り込んで開始ボタンをポチッと押しました。
ピヨ太君は、洗濯が終わるのを、ぼーっとしながら待ちます。
洗濯が終わりました。
次は掃除です。
ピヨ太君は部屋の掃除を始めました。
掃除が終わりました。
最後はアイロンがけです。
ピヨ太君はアイロンがけを始めました。
この話におけるピヨ太君のような動きがブロッキングです。
ブロッキングでは処理が一本道で進みます。
ブロッキング○○は、やることを1つずつ順番に終わらせていきます。
不器用なので、あっちもこっちも同時にやるのは苦手なのです。
気が向いたらセットで覚えてあげてください。
ノンブロッキング:やってる最中も並行して他の処理が(進められるだけ)進む
ブロッキング:やってる最中は他の処理をしないで待ってる
です。
一言でまとめるよ
まぁ「ノンブロッキング」って単語が出てきたら「やってる最中も並行して他の処理が進むんだな~」と お考えください。
おまけ
■訳してみるよ
「non(ノン)」は否定を意味します。
「blocking(ブロッキング)」は「block(ブロック)」+「ing」です。
「block(ブロック)」の意味は「さえぎる」とか「妨害する」とか「かたまり」とか「まとまり」とか「ブロック」とかです。
何となく くっつけると
さえぎらない
となります。






