• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <mutex>

    std::recursive_mutex::native_handle

    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::recursive_mutex mtx;
    
      // ミューテックスの優先順位上限を取得する
      int prioceiling = 0;
      pthread_mutex_getprioceiling(mtx.native_handle(), &prioceiling);
    
      std::cout << prioceiling << std::endl;
    }
    

    出力例

    0
    

    バージョン

    言語

    • C++11

    処理系

    参照