データ構造 | |
struct | mist::simple_lock_object |
スレッドの排他制御をサポートする最も単純なクラス [詳細] | |
struct | mist::lock_object |
スレッドの排他制御をサポートするクラス [詳細] | |
class | mist::lock |
スレッドの排他制御を簡便に記述するためのヘルパクラス [詳細] | |
class | mist::thread< thread_parameter > |
template 型のデータを扱うことができるスレッドクラス [詳細] | |
class | mist::thread_pool |
スレッドプールを利用してスレッドの再利用を可能にするクラス [詳細] | |
class | mist::worker_thread |
バックグラウンドで実行するワーカースレッドを実現するクラス [詳細] | |
class | mist::thread_handle |
生成したスレッドを管理するクラス [詳細] |
関数 | |
size_t | mist::get_cpu_num () |
利用可能なCPU数を取得する | |
void | mist::sleep (size_t dwMilliseconds) |
指定した時間だけスリープする(ミリ秒単位) | |
template<class Thread > | |
bool | mist::do_threads_ (Thread *threads, size_t num_threads, unsigned long dwMilliseconds=INFINITE) |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う | |
template<class Thread > | |
bool | mist::do_threads_ (Thread **threads, size_t num_threads, unsigned long dwMilliseconds=INFINITE) |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う | |
template<class Thread > | |
bool | mist::do_threads (Thread *threads, size_t num_threads, unsigned long dwMilliseconds=INFINITE) |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う | |
template<class Param , class Functor > | |
thread_handle | mist::create_thread (Param ¶m, Functor f) |
指定したスレッド関数を利用する,スレッドを作成する | |
template<class Param , class Functor > | |
void | mist::create_threads (thread_handle *handles, Param *param, size_t num_threads, Functor f) |
指定したスレッド関数を利用する,スレッドを複数作成する | |
bool | mist::close_thread (thread_handle &thread_) |
スレッドが使用していたリソースを開放する | |
bool | mist::close_threads (thread_handle *handles, size_t num_threads) |
複数のスレッドが使用していたリソースを開放する | |
bool | mist::wait_thread (thread_handle &thread_, unsigned long dwMilliseconds=INFINITE) |
スレッドが終了するか,タイムアウトが発生するまで待機する | |
bool | mist::wait_threads (thread_handle *handles, size_t num_threads, unsigned long dwMilliseconds=INFINITE) |
複数のスレッドが使用していたリソースを開放する | |
template<class Param , class Functor > | |
bool | mist::do_thread (Param ¶m, Functor f, unsigned long dwMilliseconds=INFINITE) |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う | |
template<class Param , class Functor > | |
bool | mist::do_threads (Param *params, size_t num_threads, Functor f, unsigned long dwMilliseconds=INFINITE) |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う |
|
inline |
スレッドが使用していたリソースを開放する
スレッドを使用した後で,必ず呼び出す必要がある
[in,out] | thread_ | … スレッドオブジェクト |
true | … リソースの開放に成功 |
false | … リソースの開放に失敗 |
参照先 mist::thread_handle::close().
参照元 mist::do_thread().
|
inline |
複数のスレッドが使用していたリソースを開放する
[out] | handles | … スレッドオブジェクト |
[in] | num_threads | … スレッド数 |
true | … 全てのリソースの開放に成功 |
false | … 全てのリソースの開放に失敗 |
参照元 mist::do_threads().
|
inline |
指定したスレッド関数を利用する,スレッドを作成する
[in,out] | param | … スレッドの関数に渡すパラメータ |
[in] | f | … 実行されるスレッド関数 |
参照先 mist::thread_handle::create().
参照元 mist::do_thread().
|
inline |
指定したスレッド関数を利用する,スレッドを複数作成する
[out] | handles | … スレッドオブジェクト |
[in,out] | param | … スレッドの関数に渡すパラメータ |
[in] | num_threads | … スレッド数 |
[in] | f | … 実行されるスレッド関数 |
参照先 mist::thread_handle::create().
参照元 mist::do_threads().
|
inline |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う
[in,out] | param | … スレッドの関数に渡すパラメータ |
[in] | f | … 実行されるスレッド関数 |
[in] | dwMilliseconds | … タイムアウト時間(ミリ秒単位) |
true | … スレッドの実行に成功 |
false | … スレッドの実行に失敗 |
参照先 mist::close_thread(), mist::create_thread(), と mist::wait_thread().
|
inline |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う
[in] | threads | … スレッドオブジェクト |
[in] | num_threads | … スレッド数 |
[in] | dwMilliseconds | … タイムアウト時間(ミリ秒単位) |
true | … 複数のスレッドの実行に成功 |
false | … 複数のスレッドの実行に失敗 |
参照元 mist::fusion(), mist::nearest::interpolate(), mist::mean::interpolate(), mist::linear::interpolate(), mist::cubic::interpolate(), mist::BSpline::interpolate(), と mist::sinc::interpolate().
|
inline |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う
[in,out] | params | … スレッドの関数に渡すパラメータ |
[in] | num_threads | … スレッド数 |
[in] | f | … 実行されるスレッド関数 |
[in] | dwMilliseconds | … タイムアウト時間(ミリ秒単位) |
true | … 複数のスレッドの実行に成功 |
false | … 複数のスレッドの実行に失敗 |
参照先 mist::close_threads(), mist::create_threads(), と mist::wait_threads().
|
inline |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う
[in] | threads | … スレッドオブジェクト |
[in] | num_threads | … スレッド数 |
[in] | dwMilliseconds | … タイムアウト時間(ミリ秒単位) |
true | … 複数のスレッドの実行に成功 |
false | … 複数のスレッドの実行に失敗 |
参照元 mist::closing(), mist::dilation(), mist::saito::distance_transform(), mist::calvin::distance_transform(), mist::meijster::distance_transform(), mist::erosion(), mist::linear::filter(), mist::linear::filter1d(), mist::saito::inverse_distance_transform(), mist::median(), mist::mip(), mist::mode(), mist::opening(), mist::volumerendering(), と mist::calvin::voronoi_distance_transform().
|
inline |
スレッド生成・終了待機・スレッドの破棄までを一連の流れとして行う
[in] | threads | … スレッドオブジェクト |
[in] | num_threads | … スレッド数 |
[in] | dwMilliseconds | … タイムアウト時間(ミリ秒単位) |
true | … 複数のスレッドの実行に成功 |
false | … 複数のスレッドの実行に失敗 |
|
inline |
利用可能なCPU数を取得する
Windowsの場合は GetSystemInfo 関数を利用してCPU数を取得する. Linux系の場合は,sysconf 関数を利用してCPU数を取得する.
参照元 mist::non_rigid::registration< TARGETTYPE >::apply(), mist::closing(), mist::dilation(), mist::saito::distance_transform(), mist::calvin::distance_transform(), mist::meijster::distance_transform(), mist::erosion(), mist::linear::filter(), mist::linear::filter1d(), mist::fusion(), mist::nearest::interpolate(), mist::mean::interpolate(), mist::linear::interpolate(), mist::cubic::interpolate(), mist::BSpline::interpolate(), mist::sinc::interpolate(), mist::saito::inverse_distance_transform(), mist::median(), mist::mip(), mist::mode(), mist::opening(), mist::volumerendering(), と mist::calvin::voronoi_distance_transform().
|
inline |
スレッドが終了するか,タイムアウトが発生するまで待機する
タイムアウトを INFINITE に設定することで,スレッドが終了するまで待ち続ける
[in,out] | thread_ | … スレッドオブジェクト |
[in] | dwMilliseconds | … タイムアウト時間(ミリ秒単位) |
true | … スレッドがタイムアウト時間内に正常終了した場合 |
false | … スレッドがタイムアウト時間内に終了しなかった場合 |
参照先 mist::thread_handle::wait().
参照元 mist::do_thread().
|
inline |
複数のスレッドが使用していたリソースを開放する
[out] | handles | … スレッドオブジェクト |
[in] | num_threads | … スレッド数 |
[in] | dwMilliseconds | … タイムアウト時間(ミリ秒単位) |
true | … 複数のスレッドがタイムアウト時間内に正常終了した場合 |
false | … 複数のスレッドがタイムアウト時間内に終了しなかった場合 |
参照元 mist::do_threads().