タグ

Cに関するZephidのブックマーク (3)

  • UNIX上でのC++ソフトウェア設計の定石 (6) - memologue

    鉄則6: マルチスレッドプログラミングの「常識」を守ろう POSIXの標準関数のうち、非スレッドセーフであるものの一覧を把握し、使わないようにせよ 自作の関数はスレッドセーフにせよ 共有変数はロックして参照・更新せよ C++を使っているなら、関数を同期化する方法に注意せよ 説明: (1) POSIXの標準関数のうち、非スレッドセーフであるものの一覧を把握し、使わないようにせよ もしPOSIXプラットフォームでマルチスレッドのプログラミングを行うなら、いくらかの最低限の知識、つまり「常識」を知り、厳守する気持ちで望みましょう。 ...まずは、「スレッドセーフ」の意味を理解しましょう。スレッドセーフな関数とは、「複数のスレッドが同時に呼び出しても問題ない関数のこと」です。こういう関数は次のどちらかの性質を満たしています。 局所的静的変数(関数内のstatic変数)や非局所的静的変数(大域変数)

    UNIX上でのC++ソフトウェア設計の定石 (6) - memologue
  • System Interfaces Chapter 2

    An implementation shall not introduce cancellation points into any other functions specified in this volume of IEEE Std 1003.1-2001. The side effects of acting upon a cancellation request while suspended during a call of a function are the same as the side effects that may be seen in a single-threaded program when a call to a function is interrupted by a signal and the given function returns [EINT

    Zephid
    Zephid 2009/07/23
    スレッドセーフではない関数一覧
  • ホワット・ア・ワンダフル・ワールド do { . . . } while(0) の意味

    じゅうりん じう 0 【▼蹂▼躙】 (名)スル ふみにじること。暴力や権力によって他の権利を侵したり、社会の秩序を乱したりすること。 (goo 辞書) 血気盛んな若者たちが main を蹂躙し陵辱の限りを尽くすことにいびつな快楽を見出し始めている今日この頃,皆様いかがお過ごしでしょうか ? memologue (yupo5656 さん) : [GCC] mainを一度も呼ばないばかりか蹂躙する 更新履歴兼雑記 (shinh さん) : ■[Program][Bin] main 蹂躙 J (wo さん) : mainがputsを呼ぶHello World giveupの日記 : ■ [C] コードの再利用 更新履歴兼雑記 : ■[Program][Bin] main 蹂躙の説明を試みる ぼくもいつか,こういうお兄ちゃんたちみたいな大人になりたいです. ・・・ ごめん,嘘. (師 (wo さん

    Zephid
    Zephid 2009/05/28
    #define hoge do {...} while(0)
  • 1