今日の格言: tragic lock (悲劇的ロック)
プロセスRがプロセスJにアクセスしようとしたが、プロセスJがいつまでたっても応答しない。プロセスRはタイムアウトになったために、例外を発生させて自らを終了させてしまった。
プロセスJが長時間の処理から返ってきたら、待っているはずのプロセスRが横で死んでいる。話が違う。プロセスRがいないと生きていても仕方がないので、プロセスJも例外を発生させて自らを終了させてしまう。
プロセスRとプロセスJの親プロセス(誰?)はその後仲良くなったそうだ。
----
悲観的ロック (pessimistic lock) は、処理の間リソースにロックをかけ続ける。その間、他のプロセスはロック解除を待つため、非効率的だが、ロックをかけているプロセスは処理中にリソースが変更されないことが保証される。これに対して楽観的ロック (optimistic lock) は、処理をリードする間はロックをかけず、更新の直前にロックをかける。必要なら他のプロセスがロックをかけて共有リソースを変更することができるが、変更しようとした寸前に他のプロセスに変更されてしまい、予期せぬ結果になることがある。
tragic は tragedy (悲劇) の形容詞。ロミオとジュリエットはシェイクスピアの四大悲劇にも入れてもらえなかったというそれ自体悲劇な悲劇だが、ウエストサイド物語などにリメイクされたりして有名なので説明のしようがない。なぜロミオなのと言われても困る。
--
表ページに「今週の格言」というコーナーがあるのだが、更新の方法がよく分からなくなったのでこっちに書いてみた。そのうち表に転載したい。
| 固定リンク

コメント