私はこの本を読んでいませんが、並行性について明確でない場合、最初に行うことは、1つのマルチスレッドシステムについて読み、使用し、理解することです。
次に、別のシステムについても同じことを行い、すでに知っているシステムとの違いに注意してください。違いを見つけたら、さまざまなシステムが並行性のその側面をどのように処理するかを確認するために読み始めてください。
現在マルチスレッドプログラムで作業している場合、最初に調査するシステムは、主に作業しているシステムである必要があります。そのシステムの同時実行モデルを理解するまでは、おそらく物事を壊したり、プログラミングを行ったりしているからです。既存のコードのコピーアンドペースト。つまり、Windows、pthread、Boost、TBB、またはすでに存在する他の何かである可能性があります。ただし、C++11は2番目のシステムの有力な候補になる可能性があります。
そうでなければ、あなたが最初に勉強するものにそれほど大きな違いはないと思います。std::thread
OK C ++ 11には、PDF以外にはまだ存在しないという小さな欠点があります。まだ急速に開発中のコンパイラバージョンをインストールする必要があり、当面は代わりにBoostスレッドを使用する必要があります。この本のコード例のいくつかはコンパイルされない可能性があり、不足している機能を回避する必要があります。ですから、職場で本の実験を本番コードで試してはいけません(つまり、とにかくそうしないでしょう?)。
正直なところ、C ++を気にしないでください。Javaの並行性モデルを学ぶことは、並行性を理解するための道のりの合理的な出発点になる可能性があります。またはGo:いくつかの非常に優れた抽象化があり、その要点を理解するのに半日かかります。醜い複雑さが他の方法で強制されないことを前提として、並行プログラムをどのように機能させるべきかを示します。もちろん、Java、Go、またはC ++ 11のすべての知識を、プロのC ++作業ですぐに使用することはありませんが、それでも持つ価値があるかもしれません。