C++11, 14の新機能

スレッドについて

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
このレッスンでは、C++からスレッドを扱う方法について説明します。
講師:
03:57

字幕

このレッスンでは、C++ でスレッドを扱う方法について説明します。これまでも C++ でスレッドを扱うにはいくつか方法がありましたが、どれもこれも、プラットフォーム固有の方法を使うしかありませんでした。しかし C++11 では、遂に、スレッドが標準ライブラリとして追加され、どの環境でも同じように記述してスレッドプログラミングが行えるようになりました。ここでは、そのスレッドクラスの使い方を説明します。まず、例のために、0 から 3 までを出力する関数 f を作成します。そして main 関数から、この関数 f を本体としたスレッドを作成します。std::thread では、コンストラクタで受け取った引数をすぐ実行します。ここで渡す引数は関数だけでなく、関数オブジェクトでも可能です。スレッドの終了を待機するには、join メンバを使います。そして、このままでは一瞬で出力が終わってしまうため、f の中で出力を 1 秒待たせることにします。それには、std::this_thread 名前空間の中にあるsleep_for を使います。この sleep_for は、std::chrono での相対時間指定を受け取ります。 実際に実行してみます。この通り、1秒ずつ遅れて0 1 2 が出力されました。thread の関数には引数を渡すこともできます。ここでは、新たに f が size_t 型の変数を 受け取ることにし、その与えられた引数に数がいたるまで出力を行うように変更してみます。ここの f の引数は、std::thread のコンストラクタの第2引数以降で与えることができます。ここでは 4 を与えてみます。実際に、コンパイルして実行してみます。0 から 3 まで出力が行われました。この通り、 thread の関数に引数が渡せることが分かったと思います。thread ヘッダでは、他に条件変数や、mutex 、 アトミック操作など、一般的なマルチスレッドプログラミングにおいて必要なものは一通り揃っています。このレッスンでは、C++ からスレッドを扱う方法について説明しました。

C++11, 14の新機能

C++11,とC++14では大幅に機能追加が行われ、これまでのC++よりも遥かに快適なプログラミングが行えるようになりました。このコースではC++03からC++11とC++14で新たに追加された言語機能や標準ライブラリについて簡単に紹介します。進化したC++を知ってより快適にプログラミングを行うために、ぜひともこのコースをご覧ください。

1時間57分 (43 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年10月15日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。