今回は基本情報の学習をする上で再使用可能と再入可能についてよくわからなかったのでまとめてみる。
Table of Contents
プログラムの性質
プログラムにはいろいろ性質があるらしく、それは4種類あるそう。
- 再配置可能(リロケータブル)
- 再使用可能(リユーザブル)
- 再入可能(リエントラント)
- 再帰的(リカーシブ)
下3つがよくわからなかった。
特に再使用可能と再入可能はよく似ていると感じて問題が出た際に間違えそそうなので改めてまとめる。
再使用可能 リユーザブル
基本的にプログラムは終わるともう一度使うにはリロードが必要となる。しかし、それが必要ない。
再使用可能で言えば関数(サブルーチン)のようなイメージだろうか。関数は実行した後にはリロードして開放するのはもったいないのでおいておく。
再使用可能。
とりあえず何回でもノンストップで使える無限の体力持っているというイメージで覚えておこう。
再入可能 リエントラント
これが結構ややこしく感じていた。
参考書には「複数のタスクから呼び出しても、互いに干渉することなく同時実行できる」と書いてある。
僕からしたら難しい。
ということでこれをもっと簡単にかみ砕いたら「どれだけたくさん同時に注文が来ても全部同時に処理しちゃうよ」ってこと。
普通は1つ来たら1つ処理。
っていう感じだろうけど再入可能はプログラム界の聖徳太子っていうイメージで覚えておく。
まとめ
とても細かく見ていけば違うのかもしれないが大枠はつかめていると思う。
再帰的に関しては難しいけど、問題が来た時迷うような選択肢が無さそうなので「自分自身を呼び出せる」という文言だけを頭に入れている…
ちゃんと理解できるように次にまとめる。