tools
読み取り中…
検索中…
一致する文字列を見つけられません
dthread クラス

デタッチされた繰り返し実行スレッドを管理するクラス [詳解]

#include <thread.h>

公開メンバ関数

template<typename Func, typename... Args>
 dthread (tu unit, double value, Func &&func, Args &&... args)
 一定間隔でループ実行するスレッドを起動するコンストラクタ
template<typename Func, typename... Args>
 dthread (bool noSleep, Func &&func, Args &&... args)
 スリープなしで連続ループ実行するスレッドを起動するコンストラクタ
 ~dthread ()
 デストラクタ。スレッドのループを停止する
void stop ()
 スレッドのループを手動で停止する
 operator bool ()
 スレッドが実行中かどうかを返す

詳解

デタッチされた繰り返し実行スレッドを管理するクラス

コンストラクタでスレッドを起動し、デストラクタ(または stop())で停止します。 スレッドはデタッチされているため、インスタンスが破棄されてもスレッドは running フラグが false になるまで動き続けます。

// 500ms ごとに関数を実行
dthread dt(tu::l, 500.0, []{ std::cout << "tick\n"; });
std::this_thread::sleep_for(std::chrono::seconds(3));
dt.stop();
dthread(tu unit, double value, Func &&func, Args &&... args)
一定間隔でループ実行するスレッドを起動するコンストラクタ
Definition thread.h:43
@ l
ミリ秒
Definition time.h:27

thread.h31 行目に定義があります。

構築子と解体子

◆ dthread() [1/2]

template<typename Func, typename... Args>
dthread::dthread ( tu unit,
double value,
Func && func,
Args &&... args )
inline

一定間隔でループ実行するスレッドを起動するコンストラクタ

テンプレート引数
Func実行する関数の型
Args関数に渡す引数の型(パック)
引数
unitスリープの時間単位(tu 列挙型)
valueスリープの時間値
func繰り返し実行する関数
argsfunc に渡す引数

thread.h43 行目に定義があります。

呼び出し関係図:

◆ dthread() [2/2]

template<typename Func, typename... Args>
dthread::dthread ( bool noSleep,
Func && func,
Args &&... args )
inline

スリープなしで連続ループ実行するスレッドを起動するコンストラクタ

テンプレート引数
Func実行する関数の型
Args関数に渡す引数の型(パック)
引数
noSleepスリープなしフラグ(値は無視、オーバーロード解決用)
func繰り返し実行する関数
argsfunc に渡す引数

thread.h63 行目に定義があります。

呼び出し関係図:

◆ ~dthread()

dthread::~dthread ( )
inline

デストラクタ。スレッドのループを停止する

thread.h76 行目に定義があります。

関数詳解

◆ operator bool()

dthread::operator bool ( )
inline

スレッドが実行中かどうかを返す

戻り値
スレッドが実行中なら true

thread.h87 行目に定義があります。

◆ stop()

void dthread::stop ( )
inline

スレッドのループを手動で停止する

thread.h81 行目に定義があります。

被呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: