Thread Status

Each of the processing threads have 3 different status flags defined in the }APQ C3 Thread Control cube. The main thread uses the status flags for threads monitoring and to detect time when all of the child threads have finished their processing.

  • Scheduled status is used to signal initialization phase of the process threads.

  • Running status is set when the threads confirmed they are ready to run - that includes initialization as well.

  • Completed status is set when threads have finished data processing.

The thread status transitions are summarised in below table.

Status Change Originator
Process Stage

Main Thread Flags

Child Thread Flags

Status Change Originator
Process Stage

Main Thread Flags

Child Thread Flags

Main thread prolog
Before spawning child threads

Scheduled=0
Running=0
Completed=0

Scheduled=0
Running=0
Completed=0

Main thread prolog
When spawning child threads

Scheduled=1
Running=1
Completed=0

Scheduled=1
Running=0
Completed=0

Child thread prolog
After checking params

 

Scheduled=1
Running=1
Completed=0

Child thread prolog
Last statement of prolog

 

Scheduled=0
Running=1
Completed=0

Main thread epilog
Before polling child threads

Scheduled=0
Running=0
Completed=1

 

Child thread epilog
Before formulating message

 

Scheduled=0
Running=0
Completed=1

Â