189189 < p class ="text-right "> < small >
190190 最終更新日時:
191191 < time itemprop ="datePublished " class ="js-local-time "
192- datetime ="2026-07-22T16:08:23 +09:00 ">
193- 2026年07月22日 16時08分23秒 (JST)
192+ datetime ="2026-09-08T13:32:24 +09:00 ">
193+ 2026年09月08日 13時32分24秒 (JST)
194194 </ time >
195195 < br />
196196 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
197- < span itemprop ="name "> rotarymars </ span >
197+ < span itemprop ="name "> Akira Takahashi </ span >
198198 </ span >
199199 が更新
200200 </ small > </ p >
@@ -358,6 +358,16 @@ <h2>メンバ型</h2>
358358< td > ネイティブハンドル型 (type-alias)[< a class ="cpprefjp-defined-word " data-desc ="処理系定義の動作。処理系によって事前に定めた動作をする " href ="../../implementation-compliance.html#dfn-implementation-defined-behavior "> 処理系定義</ a > ]</ td >
359359< td > C++20</ td >
360360</ tr >
361+ < tr >
362+ < td > < code > < a href ="thread/name_hint.html "> name_hint</ a > </ code > </ td >
363+ < td > スレッド名を設定するスレッド属性。< code > thread::name_hint</ code > の別名 (type-alias)</ td >
364+ < td > C++29</ td >
365+ </ tr >
366+ < tr >
367+ < td > < code > < a href ="thread/stack_size_hint.html "> stack_size_hint</ a > </ code > </ td >
368+ < td > スレッドのスタックサイズを設定するスレッド属性。< code > thread::stack_size_hint</ code > の別名 (type-alias)</ td >
369+ < td > C++29</ td >
370+ </ tr >
361371</ tbody >
362372</ table >
363373< h2 > 非メンバ関数</ h2 >
@@ -468,6 +478,38 @@ <h3>stop_callbackと組み合わせる例</h3>
468478</ div > </ p >
469479< h4 > 出力</ h4 >
470480< p > < pre > < code > </ code > </ pre > </ p >
481+ < h3 > 名前とスタックサイズを設定する - POSIX環境 (C++29)</ h3 >
482+ < p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href ="../thread.html "> <thread></ a > </ span >
483+ < span class ="cp "> #include < a href ="../iostream.html "> <iostream></ a > </ span >
484+ < span class ="cp "> #include</ span > < span class ="w "> </ span > < span class ="cpf "> <pthread.h></ span > < span class ="c1 "> // POSIX環境</ span >
485+
486+ < span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> work</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="n "> n</ span > < span class ="p "> )</ span >
487+ < span class ="p "> {</ span >
488+ < span class ="w "> </ span > < span class ="c1 "> // ...</ span >
489+ < span class ="p "> }</ span >
490+
491+ < span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
492+ < span class ="p "> {</ span >
493+ < span class ="w "> </ span > < span class ="c1 "> // スレッド名とスタックサイズのヒントを指定してスレッドを生成する。</ span >
494+ < span class ="w "> </ span > < span class ="c1 "> // スレッド名はデバッガのスレッド一覧などに表示される</ span >
495+ < span class ="w "> </ span > < span class ="n "> < a href =""> std::jthread</ a > </ span > < span class ="w "> </ span > < span class ="n "> t</ span > < span class ="p "> {</ span >
496+ < span class ="w "> </ span > < span class ="n "> < a href ="thread/name_hint.html "> std::jthread::name_hint</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "Worker"</ span > < span class ="p "> ),</ span >
497+ < span class ="w "> </ span > < span class ="n "> < a href ="thread/stack_size_hint.html "> std::jthread::stack_size_hint</ a > </ span > < span class ="p "> (</ span > < span class ="mi "> 512</ span > < span class ="w "> </ span > < span class ="o "> *</ span > < span class ="w "> </ span > < span class ="mi "> 1024</ span > < span class ="p "> ),</ span >
498+ < span class ="w "> </ span > < span class ="n "> work</ span > < span class ="p "> ,</ span >
499+ < span class ="w "> </ span > < span class ="mi "> 42</ span >
500+ < span class ="w "> </ span > < span class ="p "> };</ span >
501+
502+ < span class ="w "> </ span > < span class ="c1 "> // 標準ライブラリにスレッド名を取得するAPIはないが、</ span >
503+ < span class ="w "> </ span > < span class ="c1 "> // ネイティブハンドルを通じてプラットフォームのAPIで取得できる</ span >
504+ < span class ="w "> </ span > < span class ="kt "> char</ span > < span class ="w "> </ span > < span class ="n "> name</ span > < span class ="p "> [</ span > < span class ="mi "> 16</ span > < span class ="p "> ]{};</ span >
505+ < span class ="w "> </ span > < span class ="n "> pthread_getname_np</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="jthread/native_handle.html "> t.native_handle()</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> name</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k "> sizeof</ span > < span class ="p "> (</ span > < span class ="n "> name</ span > < span class ="p "> ));</ span >
506+ < span class ="w "> </ span > < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="n "> name</ span > < span class ="w "> </ span > < span class ="o "> <<</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
507+ < span class ="p "> }</ span >
508+ </ code > </ pre > </ div >
509+ </ p >
510+ < h4 > 出力例</ h4 >
511+ < p > < pre > < code > Worker
512+ </ code > </ pre > </ p >
471513< h2 > バージョン</ h2 >
472514< h3 > 言語</ h3 >
473515< ul >
@@ -478,6 +520,13 @@ <h3>処理系</h3>
478520< li > < a href ="../../implementation.html#clang "> Clang</ a > :</ li >
479521< li > < a href ="../../implementation.html#gcc "> GCC</ a > : 10.2.0 < span aria-label ="検証済 " role ="img " title ="検証済 "> ✅</ span > </ li >
480522< li > < a href ="../../implementation.html#visual_cpp "> Visual C++</ a > : ??</ li >
523+ </ ul >
524+ < h2 > 参照</ h2 >
525+ < ul >
526+ < li > < a href ="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p2019r9.pdf " target ="_blank "> P2019R9 Thread attributes</ a > < ul >
527+ < li > C++29で、スレッド名を設定する< code > < a href ="thread/name_hint.html "> name_hint</ a > </ code > とスタックサイズを設定する< code > < a href ="thread/stack_size_hint.html "> stack_size_hint</ a > </ code > のスレッド属性が追加された</ li >
528+ </ ul >
529+ </ li >
481530</ ul > </ div >
482531
483532 </ div >
0 commit comments