Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Child Thread

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