yohhoyの日記

技術的メモをしていきたい日記

2015-11-01から1ヶ月間の記事一覧

recursive mutexはいつ使う?

POSIX recursive mutexに関するDavid Butenhof氏*1の見解。2005年のニュースグループcomp.programming.threads投稿より部分引用。*2要約: 原則、recursive mutexを使ってはならない。POSIX recursive mutexは、レガシーコード保護用のグローバルMutexを避け…

criticalコンストラクトへの名前指定

OpenMPのcriticalコンストラクトには、オプションで名前を指定できる。 int acc = 0; #pragma omp parallel for for (int i = 0; i < 10; i++) { #pragma omp critical (acc) acc += func(i); } OpenMPランタイムによる排他制御では、同じ名前を付与したコー…

Detection Idiom

C++1z(C++17)標準ヘッダ<type_traits>に追加されるstd::void_tクラステンプレートを用いたイディオム。クラスメンバの存在検知や、型に対して特定の式が有効なことを検知できる。 // C++1z: 型Tがメンバtypeを持つか? template <class, class = std::void_t<>> struct has_type_member : std::false_ty</class,></type_traits>…