生物が活動する目的の一つとして「圧倒的多数派を維持し続けること」があると思います。
例えば圧倒的多数に至るために人類は、目に入った他者を滅ぼす、という手法を取りました。策は功を奏し、人類は急激に増えましたがあまりに攻撃的すぎて自身の首も絞めています。人類は圧倒的多数を維持できる程の力を持たない種なのかも知れません。
まあ、人類が生物の覇者か否かは時間が証明してくれるのでさておいて。
周りを攻撃して滅ぼす方法で未来が望めないなら、周りと共生することで覇道を歩む生物はいないのでしょうか?自分は、共生する生物はいずれ攻撃的な生物にやられて消えるものだと思っていたのですが…、実は意外と近く成功者が居たのでした。
その名はミトコンドリアです。ミトコンドリアは酸素からエネルギーを生む器官です。一説によれば古代に存在したバクテリアが細胞内に取り込まれ、共生を始めたことが起源だと考えられているそうです。その説を信じるならミトコンドリアは真核生物(細菌類を除いたほぼ全ての生物)と共存し続ける生物と言えます(※)。
細菌の一派として生きる道もあったでしょうけれど、真核生物との共生を追いに追って「この世の全ての真核生物と一蓮托生の関係を築くこと」に辿り着いたのでしょう。ミトコンドリアはこの世の覇者たる生物に到達したと言えるかもしれません。
(※)ミトコンドリアは独自のDNAを持ち、分裂によって増えます。しかし細胞外では生存できず、独立した生物ではありません。この際どこから生物と呼ぶかは曖昧にしておきましょう…。
モンスターファームオンライン始めました。ゲームの内容以前にね、製品としてどうなのよ?ってとこが多すぎます。
最近 nProtectを初めとしたルートキットを入れるのがネトゲの標準になりつつあるんですが、いい加減やめて欲しいな。あと我が家のPCではCDを読まない(モンスターを作るときに使う)のですが、Daemon Toolsのせいかもしれないです。ま、どうでもいいけど。
とにかく全体がもっさりーもっさらーもっされすとーです。非常にイライラします。ベータ版とはいえひどすぎる。テクモさんガンバっておくれよ。
昨日、萬栄に買い物に行った際にへんてこりんなキャラクターが頑張ってました。
近くで虎っぽいパーカー(顔出てたけど)を来ていたおじいさんに聞いてみたら、名前はももんがと言うそうです。…うーん?どの辺がモモンガなの??全然わかんないよ。ネタか?
内藤ホライゾン「ちょっおまっ、誰がモモンガだお!どうみてもブーンはブーンだお。しまいにはブーンするお!」
⊂ニニニ(^ω^)ニ⊃ ブーーーーン
本当にありがとうございました。
大下さんが住まい探しで京都にいるらしいので、その合間を利用して2人で龍安寺に行きました。寺に向かう前に茶寮都路里(京都府下京区、京都駅JR伊勢丹6階)でパフェを食べたりしてたら、外がいつのまにかあやしい空模様。というか大雪。
JR京都駅から龍安寺に行くには金閣寺あたりでバスを乗り継ぎます。ところが降りしきる雪のせいなのかバスが待てど暮らせど来ない。ちくしょう、雪め。雪なんかいらないんだよ…。
外と同様に龍安寺も寒かったです。石庭は春が一番綺麗みたいですが、元々真っ白な砂に石があるだけの庭なので、雪が積もってても良い味出してます。暖かい季節に縁側で寝ころがってこの庭を見られたなら最高だなあ。
大阪の問屋街にある萬栄(大阪市中央区)へ特売品を狙って朝から買い物に行きました。友人は特売品をゲットしていましたが、自分は残念ながら特売品を一切買いませんでした。宝石とかアクセサリばかりなんですもの。
開店前の店に並んだのは今回が初めてだと思います。誘われない限り自分で並びに行くこともなかろう。まあ、ろくに調べず行って「まだ開いてないYO!!」ってパターンはありそうです。
昼食後、昼からの買い物メンバーと合流して、引き続き買い物です。が、もう何も買う物も見る物もありません。土曜日はいつも昼間で寝るのが普通で、今日のように朝からずっと活動しているのと眠くなってきます。途中であまりに眠くなってきてマクドナルドで寝てました。もう最悪の客ですよ。
晩はH高さんの退寮&結婚予定おめでとうパーティーってことで、あじびる花心本店(大阪市北区)という店でしゃぶしゃぶを食べました。なぜかカラオケ設備のある部屋に通されました。食べながらカラオケ?珍しいね。
H高さんの奥さん(予定)は歌が上手でした。自分も歌おうと思ったら店の人に時間ですって言われてあえなく終了しました。
解散して残ったメンバーでラウンドワンへ。ボウリングしました。3ゲームやって、最後のゲームはレーン対抗で勝負(罰ゲーム:ビリがトップへジュースおごり)でした。負けも勝ちもせず2位です。無難が一番です。
スコアは80、100、110って感じでした。最後のゲームがレーン対抗勝負だったので上り調子だったのはラッキーでしたね。
訳あってビデオデッキ(の箱)をたくさん運んだので疲れました。明日は筋肉痛になっているに違いない…。
帰り道、上司に車で乗せていってもらった上にラーメンまでおごってもらいました。なんか申し訳ないです。
マルチスレッド処理とか調べていると、セマフォ、ミューテックス、モニターといった同期機構達の名前を良く目にします。違いが良くわからぬまま使っているのは良くないと思い立って復習してみたものの…こんがらかってきた。難しい。
以下、そのまとめ。全般的に用語があやしいので正しい用語を知ってたら教えてください。
やはりこの二つの違いが難しいです。思いこみが入ってる可能性大なのでご指摘は大歓迎です。
ミューテックス(MUTual EXclusion)はロックまたはアンロックの二状態を持つ同期機構です。ロックされているミューテックスを他の人がロックしようとすると、他の人はロックを拒否されるか、ロックが解除されるまで待ってからロックします。ロック操作にはいくつかの概念があります。
ミューテックスについてはこんなもんでしょうか?次、セマフォいってみよう。
セマフォ(Semaphore)にはロック/アンロックの概念はありません。あるのは P操作(セマフォが0でなければ数字を1減らす、0ならば待つ)と、V操作(セマフォをとにかく1増やす)です。ミューテックスは複雑な型になり得ますが、セマフォは整数値で実装可能でしょう。実装したこと無いけど。
セマフォはある区間(同じセマフォを対象とするP操作とV操作の間)に同時に何人入れるか?だけを制御します。
例えるならば、食堂で料理を載せるトレーでしょうか。食堂の入口で店員(セマフォ)にトレー(セマフォの値)をもらい(P操作)、食事した後、出口でトレーを店員に返す(V操作)というルールです。食堂にトレーが3枚しかなければ、一度に食事できる人は3人(スレッドやプロセス)に制限できるという仕組みです。
チケットの枚数(セマフォの初期値)を変えれば、ミューテックスと等価なセマフォも作れます。二値セマフォ(0か1しか値を取らないセマフォ)と言うそうですが、P操作がロックで、V操作がアンロックに相当します。
しかしセマフォにはミューテックスのような所有権、再帰といった概念はありません。自分のロックが誰かに壊されてしまう可能性(アンロックのときに異常な状態になるので検知はできますが…)や、ロック区間で再帰すればデッドロックに陥って自爆することがある。ってことです。
もちろんセマフォに所有権付けたって、ミューテックスの所有権がなくたって一向に構いません。世の中を見ても、実装によって同期機構の動作はバラバラです。同期機構って何だかわからないー!と感じる主因は単に「実装依存が多すぎる」だけかもなあ…。
ミューテックスとセマフォの実装の例として、Linuxのpthread(POSIX threadの略?)mutexとPOSIXセマフォの説明を見ます。pthread mutexはその名の通りスレッド間のみの同期を取る機構であり、POSIXセマフォはプロセス間共有ができる違いが大きいでしょう。
POSIXセマフォでは名前付きと無名を選べます。名前を付けるとファイルとして見えるのも大きな特徴でしょう。これはあくまでもPOSIXが規定する機能で、セマフォがみんなそうなっているわけではありません。しつこくて申し訳ないです。
一方pthread mutexはというと、基本的には二値セマフォです。しかし所有権チェック&デッドロックのチェックや、再帰ロックが可能になるオプションを指定できます。しかし 〜NP(non portableかな?) という名前を見るに、恐らくPOSIX準拠じゃない機能です。
Javaにはセマフォとミューテックスとはまた別にsynchronizedという別の同期機構(モニタというらしい)が備わっていますが、Wikipediaによればモニタはロックで実現できます。奇遇だね俺もそんな気がするよっ、ってことでスルー。
JavaのミューテックスはLockインタフェースの実装クラス(ReentrantLock, ReentrantReadWriteLock)が相当します。どちらも所有権の概念と、再帰ロックの概念を持っています。
他にも公平なロックという概念をオプションとして提供しています。公平なロックは上記の説明で出てませんでしたねえ。あれまー…。簡単に説明します。
ある一つのミューテックスをロックして仕事してアンロックする、という動きを繰り返しているAさん、Bさん、Cさんの3人がいるとします。3人が常に一つのミューテックスを欲しがっていますが、Aさんが偶然何度もロックを取得してしまうと、BさんやCさんはその間全く動けない状態に陥ります。
このときBさんやCさんは飢餓状態に陥っている、と言います。飢餓状態が起きないことを保証するロックの配り方、それが公平なロックです。
ReadWriteLockは多数の読み出し側(Reader)と少数の書き込み側(Writer)がいるときに有効なロックの戦略です。ReadLock(ReentrantReadWriteLock#getReadLock() で取得する)とWriteLock(ReentrantReadWriteLock#getReadLock() で取得する)のペアで使用します。
ReadLockは特殊なロックで複数人が同時にロックできます。WriteLockはReadLockと他人のWriteLockに対して排他的です。そのためWriteLockはReadLockと同時にかかることはありません。
何言ってんだテメェは!って思ったそこの貴女、表にしまし…たらちょっと見づらかったので、リストにしました。ReadWriteLockは大きく3状態に分けられます。
同期機構においてはPOSIXよりJavaの方が何かと親切ではあります。しかし親切な機能は大概遅いというのもお忘れ無く。
Wikipediaのヒドラジンの項目を見ていたら、何か違和感を覚えました。
今も何度か読み返しましたが、やはり違和感があります。どこかというと、第二段落のこの下り(2008年2月19日現在)です。
気化吸引、皮膚への接触ともに腐食をもたらし全身を骨までドロドロに溶かす。
ヒドラジンは強アルカリで毒性も強いらしいのですが「全身を骨までドロドロに…」は言い過ぎというか、辞典らしくないアホっぽい書き方に見えます。
編集履歴を見ると匿名の誰かがこの下り「だけ」をわざわざ書き足したようで、意図的なものとしか思えません。何かヒドラジンに嫌な思い出でもあったのかねえ?
ん、文句言う前に自分で直せよって?まあそういうなって…。
15日の話になりますが、会社帰りの電車に乗ると機械の焦げるような臭いがしていました。臭いで鼻が痛くなったんでたまらず乗った方と逆のドアに逃げましたが、さらに焦げ臭さが増したので、隣の車両に避難しました。
電車を降りてから焦げ臭かった車両の横を通ったら、なんと外側も激しく焦げ臭い。下回りのどこかが焼けてるんじゃなかろうか?大丈夫なのかJR西日本。
「スマブラ」って打ったらとんでもない変換になったのでそのままにしておく。
友人(Senaさん)の部屋でWiiのスマブラXをやりました。64版を数回やったことあるだけでスマブラを語るのも失礼な話ですが、正直あまり面白くないというか、前にあった爽快感が無いです。
立ち攻撃(方向キーを押さずに攻撃)と横攻撃(左右キー+攻撃)の使い分けがイライラします。64にも横攻撃ってあったっけ?あっても覚えてないってことは、さほどイライラするものではなかったのでしょうけど。
あと全体的に判定が辛いっていうか、意地悪というか。バランス調整なのか、難易度を上げたのか。なんというかびみょ〜な出来です。
しばらくやったら面白くなるのかなあとも思いますが、人の家のゲーム機を使い倒すのはさすがに気が引け…って相当入り浸ってるので今更言えたもんじゃないけどさw
仕事で全く原因が分からずに苦労していた部分がついに解消した。原因に気づいたらなんてことないことなんだけど、気づくまでが長かったなあ。うーん、スッキリ。
基本的には、休みの日に仕事の内容は考えないようにしてますが、苦戦しているときほど気になって仕方ないです。そういうときはどうしても考えてしまいますね。先週辺りがまさにそんな感じでした。
同期と飲み会。参加してた一人が仕事で行き詰まってる部分があると言って、飲み会の間もずっと考え事をしていました。あの状態では酒もうまくなかろうなあ。
なんというか、先週の自分を見ているようです。彼の問題があと一息で解決することを願いつつ。ガンバれ。
< | 2008 | > | ||||
<< | < | 02 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | - | 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | - |
合計:
本日: