Skip to content

Files

67 lines (47 loc) · 1.66 KB

native_handle.md

File metadata and controls

67 lines (47 loc) · 1.66 KB

native_handle

  • mutex[meta header]
  • std[meta namespace]
  • timed_mutex[meta class]
  • function[meta id-type]
  • cpp11[meta cpp]
native_handle_type native_handle();

概要

ミューテックスのハンドルを取得する。

効果

この関数は、実装依存のミューテックスハンドルを返す。

  • Unix系環境におけるlibstdc++とlibc++では、pthreadライブラリのミューテックス型pthread_mutex_t*を表す。
  • Visual C++では、付属ライブラリの同時実行ランタイムの型concurrency::critical_section*を表す。ただし、native_handleの戻り値はそれをvoid*にキャストした値であり、native_handle_typevoid*である。

ハンドル型に対する操作は汎用的ではないため、環境依存のプログラミングが必要な場合に使用する。

戻り値

実装依存のミューテックスハンドル

// libstdc++(pthread)環境での、ミューテックスの優先順位上限取得
#include <iostream>
#include <mutex>
#include <pthread.h>

int main()
{
  std::timed_mutex mtx;

  // ミューテックスの優先順位上限を取得する
  int prioceiling = 0;
  pthread_mutex_getprioceiling(mtx.native_handle(), &prioceiling);

  std::cout << prioceiling << std::endl;
}
  • native_handle()[color ff0000]

出力

0

バージョン

言語

  • C++11

処理系

  • Clang: ??
  • GCC: 4.7.0 [mark verified]
  • ICC: ??
  • Visual C++: 2012 [mark verified], 2013 [mark verified], 2015 [mark verified]

参照