■2006-03-27
* [Perl][メモ] Thread::State
前回書いてからまたずいぶんと空いてしまいました。なんかあれやこれやで日誌書く気にならないやら、FsWikiのメンテナなのに昨年末から何にもやってないやら(すいません)…… せめてithreads関連のメモだけでも。
threadsはCOREとは別系統のがCPANにアップされるようになってCPAN版はスレッド生成時のスタックサイズを設定できるように。これで無駄にたくさんのメモリを使わないですむようです。
あと始めてXSモジュールをCPANにアップしました。スレッドの状態を調べるメソッドを提供するThread::Stateです。これまでもThread::Runningというモジュールがありましたが、そちらはcreate、detach、joinメソッドに細工をすることでスレッドの状態を保持しています。Thread::Stateは直接ithread構造を覗いてスレッドの状態をチェックします。
* [メモ] 今年も
東京の将軍様のもと、年々統制が厳しくなってるようで。教員むしばむ『君が代神経症』
* [メモ] YAPC
YAPCに行こうとチケットとっておいたのですが、先日酔っぱらわれたねねさんからお電話いただいて、懇親会の申し込みをしてもらいました。そのようなものがあるとは全然知りませんでした。
* [Perl] iスレッドのプライオリティ
Thread::Stateにpriorityメソッドを追加。生成したスレッド毎にプライオリティを取得・設定できます。もっともWindowsスレッドで実装されているithreadsでしか効果を発揮しません。pthread
実装のものはスケジューリングポリシーにSCHED_OTHERが設定されるので、たいていの環境で設定できないでしょうし。
use threads; use Thread::State; my $thr1 = threads->create(\&something); my $thr2 = threads->create(\&something); $thr2->priority(2); # $thr2の方により多くCPUが割り当てらる $thr1->join; $thr2->join;
+z$8frZdyL%68pSU/:>w<:E3.lG-!XIB