新プログラミング等専門用語解説5(プログラミング系)
REV15
ブログ投稿しています。複数画像付き等最終版は此方から、ご覧ください。
今回は既に引用している幾つかの言葉と新規の用語を先ず挙げてから、一つ一つの用語についてボリュームを確認しながら、確認・解説したいと思います。(一部用語の、移動・纏めを行いました)
引用済み&新規用語一覧(主にプログラミング系です)(紫色用語は取り上げ済みです)(青色用語は今回ご説明するアイテムです)
インタプリタ型/コンパイラ型
AndroidOS
iOS
オブジェクト指向
オブジェクト
インスタンス
クラス
継承
ポリモーフィズム
インターフェース
オーバーライド
コンストラクタ
カプセル化
デリゲード
イテレータ
アクセサ
ジェネリクス
アノテーション
UML
デザインパターン
TBD
手続き型プログラミング
イベント駆動型プログラミング
関数型プログラミング
変数
グローバル変数
ローカル変数
WEBアプリケーション
DLL
マルチスレッド
XML
スコープ
値型
参照型
関数
メソッド
ポインタ
例外処理
同期処理
非同期処理
フレームワーク
アルゴリズム
API
ライブラリ
データ構造
TBD
今回は、同期処理・非同期処理についてコメントしてみたいと思います。
同期処理・非同期処理
皆さんは、非同期処理という言葉を聞かれた事が有りますでしょうか?
同期処理というのは、電池のつなぎ方で言うところの直列に相当します。逆に、非同期処理というのは、電池のつなぎ方で言うところの、並列に相当します。
即ち、同期処理は有る処理、或いは元の処理から、別な処理を行い始めた場合、元の処理は、処理は止まっていて、別な処理の終了を待つ形になります。
これは、俗に言う、関数間の処理に相当します。
親関数の処理を初めて、途中、子関数を処理する場合、親関数の処理は子関数を呼び出した時点で停止します。
そして子関数の処理が終了した時点で、親関数に処理が戻ってきて、処理を続けるというのが、同期処理の考え方です。
非同期処理は同期に”非”が付いていますので、当然、同期処理とは異なり、親関数が子関数を呼び出した場合、子関数の処理が始まっても、親関数の処理は停止しません。
即ち、非同期環境下では複数の関数が同時に動作します。
当然、非同期化で親関数に起動された子関数は何か処理をして親関数に結果を伝える等する場合は、少し注意が必要になります。
何故なら、当然のことながら、子関数の処理が終わった事を、親関数が知る必要が有るからです。
もし、子関数の終了を監視し続ける必要が有るのであれば、親関数は結局は他の処理が出来ず、同期処理と結局同じになってしまいます。
例えば、マウスでボタンを押して処理を実行する様なインターフェースを持っていた場合、子プロセスの起動後、監視が必要になると、監視している間、ユーザが何らかのボタンを押しても、その状況を把握できず、処理が行われない・無反応な状態になってしまいます。
従って、非同期が有効とされている開発言語では非同期処理をどの様に実現しているのかがキーになると思います。
単純に考えると、子プロセス・子関数から、イベント通知が親関数にできれば、非同期処理も、ある程度楽に構築できる可能性があると思います。
講師はかつて、Windows上で、非同期処理を行おうとした事がありますが、余り、簡単ではなかった、記憶があります。
皆さんは、プログラミングについて、どの様なご意見・イメージをお持ちでしょうか?
講師の経験が、皆様のお役に立てれば幸いです。
この記事が気に入ったらサポートをしてみませんか?