Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

# Lamp::Thread Class Reference

スレッド More...

`#include <Thread.h>`

Inheritance diagram for Lamp::Thread:

List of all members.

## Public Types
enum | Priority { priorityTimeCritical = THREAD_PRIORITY_TIME_CRITICAL, priorityHighest = THREAD_PRIORITY_HIGHEST, priorityHigh = THREAD_PRIORITY_ABOVE_NORMAL, priorityNormal = THREAD_PRIORITY_NORMAL, priorityLow = THREAD_PRIORITY_BELOW_NORMAL, priorityLowest = THREAD_PRIORITY_LOWEST, priorityIdle = THREAD_PRIORITY_IDLE }
| 優先度 More...
## Public Member Functions
| Thread ()
| コンストラクタ
| Thread (Runnable *runnable)
| コンストラクタ
| Thread (LockObject *lockObject, bool deleteLockObject)
| コンストラクタ
| Thread (Runnable *runnable, LockObject *lockObject, bool deleteLockObject)
| コンストラクタ
virtual | ~Thread ()
| デストラクタ
virtual void | start ()
| スレッドを開始する
virtual void | setup ()
| スレッドをセットアップする
virtual void | run (Thread *thread)
| 実行
virtual void | requestStop ()
| スレッドの終了を依頼する
virtual void | stop ()
| スレッドの終了を依頼し、終了を待つ
virtual bool | stop (u_int milliseconds)
| スレッドの終了を依頼し、終了を待つ
virtual void | join ()
| スレッドの終了を待つ
virtual bool | join (u_int milliseconds)
| スレッドの終了を待つ
virtual void | setPriority (Priority priority)
| プライオリティの設定
virtual Priority | getPriority ()
| プライオリティの取得
virtual void | suspend ()
| サスペンド
virtual void | resume ()
| レジューム
virtual HANDLE | getThreadHandle () const
| スレッドハンドルの取得
virtual u_int | getThreadID () const
| スレッドIDの取得
virtual bool | isFinished () const
| スレッドが終了しているか
virtual u_int | getStackSize ()
| スタックサイズの取得
virtual u_int | executeWrapper ()
| スレッドの実行ラッパ
## Static Public Member Functions
void | sleep (u_int milliseconds)
| カレントスレッドの休止
void | yield ()
| カレントスレッドから制御を譲る
## Protected Member Functions
virtual void | createThread ()
| スレッドの作成
## Friends
class | LampCore

## Detailed Description

スレッド

スレッドはマルチスレッド版のCランタイムライブラリを必要とします。ビルドできない 場合はランタイムライブラリの設定がマルチスレッドになっているか確認をしてください。

Definition at line 39 of file Thread.h.

## Member Enumeration Documentation

enum Lamp::Thread::Priority

  | 優先度 Enumeration values:
  priorityTimeCritical | タイムクリティカル
  priorityHighest | とても高い
  priorityHigh | 高い
  priorityNormal | 通常
  priorityLow | 低い
  priorityLowest | とても低い
  priorityIdle | アイドル
Definition at line 43 of file Thread.h. Referenced by getPriority().

## Constructor & Destructor Documentation

Lamp::Thread::Thread | ( | Runnable * | runnable | ) |

  | コンストラクタ Parameters:
  runnable | 実行対象
Definition at line 72 of file Thread.cpp. References createThread().

Lamp::Thread::Thread | ( | LockObject * | lockObject,
|  | bool | deleteLockObject
| ) |

  | コンストラクタ Parameters:
  lockObject | ロックオブジェクト
  deleteLockObject | ロックオブジェクトをThreadが削除するならtrue
Definition at line 79 of file Thread.cpp. References createThread().

Lamp::Thread::Thread | ( | Runnable * | runnable,
|  | LockObject * | lockObject,
|  | bool | deleteLockObject
| ) |

  | コンストラクタ Parameters:
  runnable | 実行対象
  lockObject | ロックオブジェクト
  deleteLockObject | ロックオブジェクトをThreadが削除するならtrue
Definition at line 87 of file Thread.cpp. References createThread().

## Member Function Documentation

u_int Lamp::Thread::executeWrapper | ( |  | ) | `[virtual]`

| スレッドの実行ラッパ このメソッドはシステムから利用されるので決して呼び出さないで下さい Definition at line 225 of file Thread.cpp. References getThreadHandle(), Lamp::Runnable::run(), Lamp::Runnable::setStopRequested(), and u_int. Referenced by Lamp::threadCallback().

virtual u_int Lamp::Thread::getStackSize | ( |  | ) | `[inline, virtual]`

| スタックサイズの取得 Returns: スタックサイズ このメソッドをオーバーライドすることによりスタックサイズを変更できます Definition at line 195 of file Thread.h. References u_int. Referenced by createThread().

virtual HANDLE Lamp::Thread::getThreadHandle | ( |  | ) | const`[inline, virtual]`

| スレッドハンドルの取得 Returns: スレッドハンドル Definition at line 175 of file Thread.h. Referenced by executeWrapper(), getPriority(), join(), requestStop(), resume(), setPriority(), setup(), start(), suspend(), and Lamp::WaitSet::wait().

virtual u_int Lamp::Thread::getThreadID | ( |  | ) | const`[inline, virtual]`

| スレッドIDの取得 Returns: スレッドID Definition at line 181 of file Thread.h. References u_int. Referenced by getPriority(), join(), requestStop(), setPriority(), setup(), start(), and suspend().

virtual bool Lamp::Thread::isFinished | ( |  | ) | const`[inline, virtual]`

| スレッドが終了しているか Returns: スレッドが終了していればtrue Definition at line 187 of file Thread.h. Referenced by join(), Lamp::FPSController::registerBackgroundThread(), requestStop(), resume(), Lamp::FPSController::sleep(), stop(), and suspend().

bool Lamp::Thread::join | ( | u_int | milliseconds | ) | `[virtual]`

  | スレッドの終了を待つ Parameters:
  milliseconds | タイムアウトまでのミリ秒を指定する
Returns: 終了していればtrueを返す、falseならタイムアウト Definition at line 156 of file Thread.cpp. References Assert, ErrorOut, getThreadHandle(), getThreadID(), isFinished(), and u_int.

virtual void Lamp::Thread::run | ( | Thread * | thread | ) | `[inline, virtual]`

  | 実行 Parameters:
  thread | 実行しているスレッド
isStopRequested()がtrueを返す場合は速やかに処理を終了させる Implements Lamp::Runnable. Reimplemented in Lamp::BufferedInput, and Lamp::StreamPlayer. Definition at line 113 of file Thread.h.

void Lamp::Thread::sleep | ( | u_int | milliseconds | ) | `[inline, static]`

  | カレントスレッドの休止 Parameters:
  milliseconds | 休止時間をミリ秒で指定する
Definition at line 204 of file Thread.h.

bool Lamp::Thread::stop | ( | u_int | milliseconds | ) | `[virtual]`

  | スレッドの終了を依頼し、終了を待つ Parameters:
  milliseconds | タイムアウトまでのミリ秒を指定する
Returns: 終了していればtrueを返す、falseならタイムアウト Definition at line 149 of file Thread.cpp. References isFinished(), join(), and requestStop().

void Lamp::Thread::suspend | ( |  | ) | `[virtual]`

| サスペンド ロックをかけるので自分自身のsuspendは呼べない Definition at line 202 of file Thread.cpp. References Assert, ErrorOut, getThreadHandle(), getThreadID(), and isFinished(). Referenced by Lamp::FPSController::sleep().

The documentation for this class was generated from the following files:

- Thread.h
- Thread.cpp