26 :名無しさん 11/02/14 12:41 ID:gDtbn17Biu (・∀・)イイ!! (4)
プログラマ向けなアンケートだね
飛行機とかの空席照会にたとえて非プログラマ向けに説明してみようか

あなたは旅行会社の窓口で仕事してます
お客さんから、今日18時の東京発大阪行き便の予約を取ってくれと頼まれた
でもって、たまたま直前のお客さんも同じ便の予約を取ろうとして満席だった

こういうときに、直前の問い合わせ結果が満席だったから、調べもせず
「満席ですよ」と答えるのが、volatileをつけない場合

直前に満席だったとしても、あえて予約端末で該当便の予約を取ろうとする
(ひょっとしたらたった今キャンセルが出て空席があるかもしれない)のが
volatileをつける場合

普通ならvolatileなしのほうが余計な仕事をせず、お客さんを待たせずに済む
volatileありだと多少手間はかかるが、確実に最新時点の情報をもとに応えられる
プログラミングの場合、特記しない限りはvolatileなしとして扱われる

マルチスレッド(複数の処理が並行して動く)なアプリケーションだと、
最新じゃないかもしれない情報をもとに処理を行っちゃうと
(旅行会社の窓口の例みたいに)正しくない結果になって困る場合があるので
そういうときにはvolatileをわざわざ宣言する

・・・長文になったけどこんな説明でいいかな?


このページの一番下のレスはスレッドの末尾ではありません。新しいレスが存在します。日時や流れを確かめて書き込みをお願いします。
板に戻る 全部 前100 次100 最新50

このスレへの書き込みにはログインが必要です。
削除ガイドライン違反報告はこちら
このアンケートの2ちゃんねる互換リンク→http://find.moritapo.jp/enq/test/read.cgi/12/1297648831/