タグ

ブックマーク / yupo5656.hatenadiary.org (1)

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

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

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