C++ 11にはスレッドの概念がいくつかあります。たとえば、新しい記憶域指定子thread_local
を定義し、この記憶域指定子を持つ変数には「スレッドごとに異なるオブジェクトまたは参照があります」[basic.stc.thread]と指定します。C++ 11は「スレッド」とは何を考えていますか?
この目的のために「スレッド」とは何でしょうか?標準スレッドライブラリ(つまりstd::thread
オブジェクトで表されるスレッド)を使用して作成されたスレッドのみですか?他の手段で作成されたスレッドについてはどうでしょうか(たとえば、Linuxで直接pthreadを使うなど)?ユーザー空間スレッドを提供するライブラリを使用する場合、それぞれがthread_local
オブジェクトの独自のコピーを取得しますか(実際にどのように実装できるかはわかりません)。
答えが「thread_local
のような目的のためにスレッドと見なされる実装定義」の場合、よく知られた実装でこれを定義する方法の例を挙げることができますか?
@texasbruce Java * now *にキーワードがありますか?彼らは17年前にそこにいました。 – EJP