2006-02-01から1ヶ月間の記事一覧

とりあえず

ST

サイト間の一致度 信頼区間 コメント文字数 甘口辛口判定 については大体できた。甘口の副産物として新しい補完手法を提案した場合のランキングもできたし、今回はこんなもんか。 追記 前回やった、順序統計量を元にしたランキング。ためしにやってみたんだ…

ToDo

ST

なにやら色々作りかけっぽく、理解するのに時間がかかった。で、とりあえずやることとしては・・・ サイトの厳しさランキングのプログラム作成 タブ区切りファイルをHTMLに整形するスクリプト作成 表ソート用のJavascript作成 この辺かな。大体できてはいる…

ためしに

ST

Parserを使ってみたところ、今回もちゃんと解析できているご様子。まずはあのHTMLをデータとして使える形に変換するってのが重要だと思ってるので、Perl環境のある人には使って欲しいのですが。・・・ってこっちでいってもしょうがないか。

うーん

ST

なにやら期待してる人もいるようなのですが、ほんとに今回は特にやりたいこともないんだよなあ・・・。というか、現時点で1週間のアニメすら消化し切れてないし。大体最近妙に無気力なんだよなあ・・・と思っていたら風邪引いてたようで。どおりで疲れやすい…

phpからconvert

ST

うーん。なぜか知らないけど、PHPからconvert実行してps->pngをしようとするとcoredumpする。なぜだ・・・。直接コマンドを実行するとちゃんとできるんだけど。PHP詳しくないんで何が違うのかよく分かりませんが、とりあえずは手動で変換してしのぐことにし…

pukiwiki customize (1)

ST

まずskinを変更したい。 テーブルレイアウトをやめる <hr>タグをやめる 1はskinを変更するとして、2はdefault.ini.phpで $hr = ''; $note_hr = '';としておけば、とりあえず目立つところで出てくることはなくなった。今後も出てきたら随時対応ということにします</hr>…

ghostscript emerge失敗

ST

./obj/echogs -a ./obj/ldt.tr -s - -Wl,-rpath,/usr/lib -lcupsimage \ -ltiff -ljpeg -lpng -lm -lz -lcups -lssl -lcrypto -lnsl -lm -lm if [ x != x ]; then LD_RUN_PATH=; export LD_RUN_PATH; fi; \ XCFLAGS= XINCLUDE= XLDFLAGS= XLIBDIRS= XLIBS= \…

pukiwikiカスタマイズ

ST

そろそろ感想調査の時期なので、サイトの準備でもしようかと。とりあえずまとめサイト用にpukiwikiでも入れるかと思ってテストしてるんだけど、テーブルレイアウトがどうも気に食わない。 http://pukiwiki.sourceforge.jp/dev/?%A5%B9%A5%AD%A5%F3%2F%B5%BB%…

どうでもいいけど

pth

int pthread_create(pthread_t * thread, pthread_attr_t * attr, void * (*start_routine)(void *), void * arg); int pthread_join(pthread_t th, void **thread_return); どうしてcreateはスレッドのポインターを渡して、joinではスレッドそのものを渡す…

pthreads (9) 食事をする哲学者の問題

PTH

食事をする哲学者の問題(Dining philosophers problem)という、デッドロックの有名な話があります。http://msugai.fc2web.com/java/thread/diningPh.htmlこれをpthreadsで作ってみました。 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #define NFORK 5 #define</pthread.h></unistd.h></stdlib.h></stdio.h>…

pthreads (8) condition variableを使わない場合

PTH

condition variableを使わない場合を考える。この場合は、watch()自身が定期的にリソースの値を確認し、閾値に達するまでスピンする。一応同じ操作は可能だけど、閾値に達するまでずっとスピンしてるってのもCPUに優しくないし、その間何度もmutexのlockとun…

pthreads (7) condition variable

PTH

続いては、condition variable(状態変数)。pthreadの同期機能の一つで、スレッドをイベント待ち状態にしたり、イベント待ち状態のスレッドを起こしたりするキーに使う。「状態変数」と言ってもそれ自体の値を見てどうこうするわけじゃないから注意・・・とい…

pthreads (6) mutexによる排他制御(2)

PTH

mutexを動的に生成したいというような場合は、pthread_mutex_initで初期化。 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #define THREADSNUM 5 void func(void); int res=0; pthread_mutex_t *mutex; int main(void){ pthread_t thread[THREADSNUM]; int i; m</pthread.h></unistd.h></stdlib.h></stdio.h>…

pthreads (5) mutexによる排他制御

PTH

・・・という問題があったので、mutexを使って排他制御をする。まずはグローバルに pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;とmutexを宣言して、pthread_mutex_lock()とpthread_mutex_unlock()を追加するだけ。超簡単。 void func(void) { int i…

pthreads (4) 共有リソースにおける問題

PTH

並列環境ではおなじみの、排他制御に関する問題。共有リソースresの値を1インクリメントする際に、 resの値を取得 resの値を1インクリメント resの値をセット という操作が行われますが、ここで1〜3の操作がアトミックではないため、途中でコンテキストスイ…

pthreads (3) 共有リソース

PTH

続いてはスレッド間で共有したいリソースがあるような場合。マルチプロセスではshmget(), shmat()を使って明示的に共有メモリーを確保する必要があったけど、マルチスレッドではプロセス内でグローバルな(?)変数を定義するだけでOK。 #include <stdio.h> #include <unistd.h> #</unistd.h></stdio.h>…

pthreads (2) 超基本から

pth

pthreadsまとめ。まずは基本から。 #include <stdio.h> #include <unistd.h> #include <pthread.h> #define THREADSNUM 5 void func(int *); int main(void){ pthread_t thread[THREADSNUM]; int i; for(i=0; i</pthread.h></unistd.h></stdio.h>

トランプと確率の問題

ネタ元 http://www.nyasoku.com/archives/50352203.html ジョーカーを除いたトランプ52枚の中から1枚のカードを抜き出し、表を見ないで箱の中にしまった。そして、残りのカードをよく切ってから3枚抜き出したところ、3枚ともダイアであった。このとき、…

今期は何をやろうかな

ST

pthreadsは着々と勉強は進んでて、condition variableまでは大体わかった。後でまとめよう。この辺のロック機構はBBS作るときにも参考になるなあ・・・。とはいえ、独立して動くプロセス間で通信するくらいならI/O処理を全てロックしちゃったほうが楽かも・…

pthreads (1)

pth

CGIの作成が止まってしまってるけど、仕事で必要になりそうなのでpthreadsの勉強でもしようかと。 プロセスに比べて軽量 プロセスのアドレス空間やファイルディスクリプターとかを共有している 生成にはシステムコールを必要としない(場合が多い) スレッド間…