著作一覧 |
妻子マシンその実体はクライアントテストマシンだが、使ってびっくり、P4速いよ、羨ましいよ。しかも今やってるやつはもろサーバーなんで、512MBのメインメモリじゃ不足でスワップの嵐だよ。って言うか、資料がPDFばかりなんでアクロバットリーダも猛烈にメモリーを食ってるし。でも、マルチスレッドのテストがあるからSMPが必須だよ。
というわけで、比較的安価にSMPが組めそうでしかもP!!! 1GHzより速そうということで、Opteronマシンが欲しい今日この頃。今のマシンにメモリー追加してもつまらんしな。でも、来年以降だろうな。原資が無いし。っていうかそもそもマシン組んでる時間がないから、まだ200GBのHDも入れてないし。
会社マシンが今はXeonなんで妻子マシンともども、はじめて家実験メインマシンを逆転したってのも気分としてはあるかも。
調査が足りなかったっていうか、結果オーライって言うか、Solarisでは、モニタースレッドを生成して、時間がくるとThread#interruptの刑にする実装を採用した。
で、URLConnection#getResultCodeは無事、これで終了してくれるんだが。
今日、Linuxでいじくってたら、全然、かすりもしませんな。どうやら、URLConnection#getResultCodeを呼び出しているスレッドがIOをかけてるわけじゃなさそうだ。っていうか、内部実装依存なわけだし。
で、まあ、デベロッパーネットワークのフォーラム経由で、Networking Propertiesにいって、
System.setProperty("sun.net.client.defaultReadTimeout", "3000");
とかすりゃいいってわかった。が、こいつは最初のURLConnectionのインスタンスの生成前に設定しなきゃだめなんだな、少なくてもLinuxのJ2SE 1.4。2実装では。1個目はそのまま実行して、2個目の生成前に設定してタイムアウトさせるっていうテストコードを走らせたら行ったきりになったんでわかったわけだが。
しかし、なんていうか、実に精度は低いし、しかも、最初のインスタンス生成時に決定てのが非常に厳しいものがあったり。
ジェズイットを見習え |