それはpthreadsのにマッピングする方法を簡単に確認C++ 11の新しいスレッドのものを見ている、私はthread
コンストラクタエリアで好奇心旺盛なセクションに気づく:C++ 11では、「実行スレッドを表していない」スレッドのポイントは何ですか?
スレッド();
効果:実行スレッドを表さないスレッドオブジェクトを構築します。
事後条件: GET_ID()== ID()
例外ない:何を。言い換えれば
、スレッドのデフォルトコンストラクタは、実際にスレッドを作成していないようです。明らかに、スレッドオブジェクト、が作成されますが、バッキングコードがない場合は、それがどの程度正確に役立ちますか? thrd.start()
またはそれに類するもののような、そのオブジェクトに「実行のスレッド」を添付できる他の方法がありますか?
C++ 11は、この時点であなたと私の両方をギョッとされます幸い私はもうカーネル開発者だからスタンダードはもう変わっていない:) –
スレッドコンストラクタは実際のスレッドを作成せず、オペレーティングシステムを呼び出さず、スタックを割り当てない/その他のリソースであり、一般に停止したスレッドは作成されません。私はこれが適切な場所にあると思うので、スレッドを作成する前にスレッドを作成して(何らかのフラグストレージ以外で)何かを無駄にしていないことを人々は知っているでしょう。 – Dani
@Jesus Ramos:カーネル開発者は標準的な変更を恐れていますか?私が正しく思い出すと、新しいプロセッサはそれぞれカーネル内で何かを破壊したり、実装するために多くの書き換えが必要な機能を追加します。 – Dani