boost::thread

提供: C++入門
2014年1月3日 (金) 16:11時点におけるDaemon (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

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

関連項目

std::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 指定した時刻まで、現在のスレッドの実行を停止します。





スポンサーリンク