「boost::thread」の版間の差分
提供: C++入門
細 |
|||
(同じ利用者による、間の1版が非表示) | |||
行1: | 行1: | ||
− | + | [[boost::thread]]は、[[C++]]ライブラリ[[Boost]]で提供されるスレッドライブラリ群です。[[C++]]では、以前は、標準ライブラリでスレッドライブラリをサポートしていませんでしたが、[[C++11]]では、[[std::thread]]が追加されました。 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | '''読み方''' | ||
;[[boost::thread]]: ぶーすと すれっど | ;[[boost::thread]]: ぶーすと すれっど | ||
行10: | 行7: | ||
== 概要 == | == 概要 == | ||
− | |||
[[boost::thread]] のサンプルです。 | [[boost::thread]] のサンプルです。 | ||
== サンプル == | == サンプル == | ||
− | |||
* [[boost::thread 1つのスレッドだけ動かすシンプルな例]] | * [[boost::thread 1つのスレッドだけ動かすシンプルな例]] | ||
* [[boost::thread 2つのスレッドを動かすシンプルな例]] | * [[boost::thread 2つのスレッドを動かすシンプルな例]] | ||
行20: | 行15: | ||
== ヘッダファイル == | == ヘッダファイル == | ||
− | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
#include <boost/thread.hpp> | #include <boost/thread.hpp> | ||
行60: | 行54: | ||
=== コンパイル === | === コンパイル === | ||
− | |||
コンパイルには、 boost_thread をリンクする必要があります。 | コンパイルには、 boost_thread をリンクする必要があります。 | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | g++ -I/usr/local/include -L/usr/local/lib -Lboost_thread boost_thread_1.cpp -o boost_thread_1 | + | g++ -I/usr/local/include -L/usr/local/lib \ |
+ | -Lboost_thread boost_thread_1.cpp -o boost_thread_1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[C++ライブラリ]] | * [[C++ライブラリ]] | ||
* [[Boost]] | * [[Boost]] | ||
* [[std::thread]] | * [[std::thread]] | ||
+ | {{thread}} | ||
+ | <!-- vim: filetype=mediawiki --> |
2014年1月3日 (金) 16:11時点における最新版
boost::threadは、C++ライブラリBoostで提供されるスレッドライブラリ群です。C++では、以前は、標準ライブラリでスレッドライブラリをサポートしていませんでしたが、C++11では、std::threadが追加されました。
読み方
- boost::thread
- ぶーすと すれっど
概要
boost::thread のサンプルです。
サンプル
ヘッダファイル
#include <boost/thread.hpp> #include <boost/thread/thread.hpp> namespace boost { class thread; void swap(thread& lhs,thread& rhs) noexcept; namespace this_thread { thread::id get_id() noexcept; template<typename TimeDuration> void yield() noexcept; // DEPRECATED template <class Clock, class Duration> void sleep_until(const chrono::time_point<Clock, Duration>& abs_time); template <class Rep, class Period> void sleep_for(const chrono::duration<Rep, Period>& rel_time); template<typename Callable> void at_thread_exit(Callable func); // EXTENSION void interruption_point(); // EXTENSION bool interruption_requested() noexcept; // EXTENSION bool interruption_enabled() noexcept; // EXTENSION class disable_interruption; // EXTENSION class restore_interruption; // EXTENSION #if defined BOOST_THREAD_USES_DATETIME template <TimeDuration> void sleep(TimeDuration const& rel_time); // DEPRECATED void sleep(system_time const& abs_time); // DEPRECATED #endif } class thread_group; // EXTENSION
コンパイル
コンパイルには、 boost_thread をリンクする必要があります。
g++ -I/usr/local/include -L/usr/local/lib \ -Lboost_thread boost_thread_1.cpp -o boost_thread_1
関連項目
- C++ライブラリ
- Boost
- std::thread
- std::thread
- boost::thread
関数 | 説明 |
---|---|
メンバ関数 | |
std::thread::thread | コンストラクタ。threadオブジェクトを作成します。 |
std::thread::~thread | スレッドがjoinかdetachされている必要があります。スレッドオブジェクトを破棄します。 |
std::thread::operator= | スレッドオブジェクトをmoveします。 |
オブザーバー | |
std::thread::joinable | スレッドが合流可能であるかチェックします。 |
std::thread::get_id | スレッドのIDを返します。 |
std::thread::native_handle | スレッドハンドルを返します。 |
std::thread::hardware_concurrency | 実装によってサポートされる同時スレッド数を返します。 |
操作 | |
std::thread::join | スレッドの終了を待ちます。 |
std::thread::detach | スレッドハンドルから独立して実行するスレッドを許可します。 |
std::thread::swap | スワップ |
非メンバ関数 | |
std::swap | スワップ |
カレントスレッドの管理 | |
std::this_thread::yield_id | 処理系に再スケジュールの機会を与えます。 |
std::this_thread::get_id | スレッドIDを返します。 |
std::this_thread::sleep_for | 指定した時間、現在のスレッドの実行を停止します。 |
std::this_thread::sleep_until | 指定した時刻まで、現在のスレッドの実行を停止します。 |