タグ

pthreadに関するRanTairyuのブックマーク (2)

  • pthread でキューを作る(再挑戦)。ついでに dtrace でスレッドの解析 - IT戦記

    一日、一回 pthread 勉強。 はじめに pthread でキューを書いてみる - IT戦記に関して、id:n-soda さんからとても貴重なアドバイスを沢山頂いたのですべて直しておきたいと思います。 当にありがとうございます。 指摘が会った点まとめ 再帰呼び出しの問題 キューが一杯の場合に enQ() の再帰呼び出ししているのが変です。ここは while で書けるはずです。Cの場合、末尾再帰の削除をしない処理系がほとんどですし、このケースでは、deQ() 側のスレッドと enQ() 側のスレッドで速度差があるだけで再帰してしまいますから、スタックを相当無駄に消費します。スタックオーバーフローで死んでしまう可能性もあります。 http://d.hatena.ne.jp/amachang/20080611/1213165364#c1213677983 sleep(0) の問題 キューの

    pthread でキューを作る(再挑戦)。ついでに dtrace でスレッドの解析 - IT戦記
    RanTairyu
    RanTairyu 2008/06/17
    「本当にありがとうございます。」
  • pthread 勉強 - IT戦記

    だらだら書くよ 初めてのコード #include <pthread.h> void* f(void* p) { puts("hello"); sleep(1); puts("hello"); sleep(1); puts("hello"); } int main(int argc, char** argv) { pthread_t thread; pthread_create(&thread, NULL, f, (void*)NULL); pthread_join(thread, NULL); } $ gcc p.c -lpthread && ./a.out hello hello hello $おおお。スレッドスレッド みゅーてっくつ #include <pthread.h> // みゅーてっくつ pthread_mutex_t m; void* f(void* p) { int i;

    pthread 勉強 - IT戦記
    RanTairyu
    RanTairyu 2008/06/11
    「(ここで、はてながメンテになって書けなかった><)」
  • 1