interrupt

昨日の補足だけど java でも interrupt をバシバシ叩けば何とかスレッドを増やさずに済みそうな感はある。だけどそれだと余りにも無理矢理感があって普通はやらないでしょ。アンチスマートみたいな感じだよな。そんな事をするぐらいならスレッド作っちゃえよみたいな気がする。俺も途中で知ったんだけどね、java って言語が interrupt を広範にサポートしているんだって事を。色んな待ち処理に有効なんだよなあ。ミステリーだ。
俺は Windows のマルチスレッドで Event とか Mutex とか CriticalSection とか Sleep とか色々とやってたけど、特に OS レベルでは java で言う interrupt をサポートしていないんだよなあ。Linux は知らないけど。java の全ての待ち処理は Windows では WaitForMultipleObjects で 1 つ目にイベントでも入れてるんだろうか。それとも Sleep でポーリングしてるんだろうか。分からん。若しかして APC か…。そんなのがあった気がするなあ使った事は無いけど。でもアレって別スレッドだった気がしなくも無い…。
ネイティブな考えから導くと有り得ない仕様を備えているんだよなあ java って。仮想マシンだから仕様が無いんだろうけど。そんな実装だから遅いんだよな。
java は明らかにユーザモードで動いてるからカーネルモードでの割り込みとは明らかに別物じゃないですか interrupt って。カーネルモードでの割り込みってのも殆ど知らないし忘れたけど。アレってレジスタの内容をスレッドの変更時とは違う仕組みで退避して処理をして終ったら戻すみたいな感じの事をするんですよ確か。だからもう全く違うと思うんだよね。interrupt って命名がおかしいよ。wakeUp で良いじゃないか。