この業界にいると、タスクとかスレッドって言葉が良く登場する。
この手の用語は掴みどころがないため、初心者に説明するにはチト難しい言葉だ。そもそもまだ初心者に説明する必要がないのかもしれない。
ちなみに、インターネットでタスクの意味を調べたら、『 OSから見た処理の実行単位。通常はスレッドが実行単位となるが、OSによってはプロセス(複数のスレッドを含むプログラム全体)を・・・』等の説明がされていた。
初心者には、まず理解不可能だろう。
この際、正しい解答ではないが、誤解を恐れず大胆に定義しよう。
この業界に直接関係ない人であれば、感覚的に知っておくと良いかもしれない。
但し、誰かに知ったかぶりして話すと、赤っ恥をかく恐れもあるので、決して引用しないように!
あなたと奥さんが子供と仲良く暮らしています。
あなたが「プレゼンソフト・パワポ君」、奥さんが「イラストソフト・イラレ子さん」、子供が「メールソフト・アウトルッ子ちゃん」であり、PC内で3人のソフトが動いています。
3人が部屋(パソコン内)にいます。パワポ君はソファで小説を読んで、イラレ子さんはテレビを見て、アウトルッ子ちゃんはおもちゃで遊んでいます。3人のソフトはバラバラに動作しています。それが、マルチタスク。
写真を借りれば、彼女自身がタスクであり、各手の行動単位がスレッドになるかな。かなり強引な定義なので、決して引用しないように!
今度は一人に注目します。イラレ子さんはテレビを見ていますが、おせんべいを食べながらお茶を飲んでいます。テレビを見て笑ったりうなずいたりしていますが、近くにいる子供の注意も怠りません。
このように、イラレ子さんの複数の行動がマルチスレッド。
即ちマルチスレッドは、ワープロソフト・ワードを例にすれば、キーボードから入力して、文字候補を画面に表示して、いろいろな文書レイアウトに整え、複数文書ファイルを同時に開き、裏画面で印刷処理を行う機能・・・と、なる。
同じプログラム上にあるスレッドはPC内のメモリを共有し、その複数のスレッドはCPUを順番に切り替えることによって、あたかも同時実行しているように見える。
あ~後半がちょっと難しくなってしまった。