pthread

メインスレッドの detachstate

pthreadではデフォルトでは他のスレッドからのjoinが可能なPTHREAD_CREATE_JOINABLEでスレッドを生成する。 しかし、メインスレッドがどうかっていうのは決まって無いんだかなんだか良くわからない。てなことを少し思って(まあ需要は無いだろうけれども)メ…

semaphore

id:amachangのとこのコメントに気がつかずに寝てしまった。 tkuro 2008/06/11 17:13 セマフォを使うと // キューが空いてれば とか // キューがいっぱい の処理までやってくれるっぽいけど、なんかこれ(sem_open()とか)もMacだと無かったような覚えが。。(…

canceltype & cancelstate

ありゃ、、、 from manpage pthread_cancel(3) type 引数は、新たな取り消し方であり、取り消し要求が届くと直ちに呼び出し スレッドを取り消す PTHREAD_CANCEL_ASYNCHRONOUS か、取り消し要求を次の取 り消しポイントまで留保する PTHREAD_CANCEL_DEFERRED …

sched_priority やっぱりわかんね

整理しなおすついでにクラスに包んでみよう。優先度を変化させたスレッドそれぞれにカウンタをカウントアップさせて、優先度による実効回数の変化を調べる、、としようとしてメンバ関数のアドレス取得に悩む。普通に非静的なメンバ関数をpthread_create()に…

sched_priority

昨日は遊びにいくので頭一杯だったんだろうか。大ボケかましまくり。全然関係ない値を拾って文句言ってた。 以前別の環境(シングルコア)で実験して全然変わらなかったのでとち狂ってあちこち継ぎはぎした奴と今回のを混同してたみたい。あとで整理しておき…

sched_priorityがよくわからない

sched_priorityの値を変えても変わらない。。。 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #include <sched.h> #include <error.h> int val = 0; pthread_mutex_t m; void *thread_func(void *arg) { struct sched_param p; sched_getparam(0, &p); int prio = p.sched_priorit</error.h></sched.h></pthread.h></unistd.h></stdlib.h></stdio.h>…