タスクのデバッグ

このセクションで紹介するメソッドは、デバッグに役立ちます。将来の実装で変更される場合があります。

state_type state() const

注意

このメソッドはデバッグ用です。動作やパフォーマンスは、将来の実装で変わる可能性があります。task::state_type の定義も、将来の実装で変わる可能性があります。ここで紹介する情報は、デバッグ中の問題の診断に役立つように提供されています。

戻り値:

タスクの現在の状態。下記の表に、有効な状態を示します。その他の値は、メモリー割り当てを解除したタスクを使用するなど、メモリーが破損していることを意味します。

task::state() が返す値

説明

allocated

タスクは新たに割り当てられたか、または再利用されました。

ready

タスクはレディプールにあるか、プールとの間で転送中です。

executing

タスクは実行中で、execute() メソッドがリターンした後に破棄されます。

freed

タスクは内部フリーリストにあるか、リストとの間で転送中です。

reexecute

タスクは実行中で、execute() メソッドがリターンした後に再生成されます。

下記の図は、タスクの状態遷移を要約したものです。

典型的な task::state() の遷移

int ref_count() const

注意

このメソッドはデバッグ用です。動作やパフォーマンスは、将来の実装で変わる可能性があります。

戻り値:

refcount 属性の値。