UMS Thread Execution

A newly created UMS worker thread is queued to the specified completion list and does not begin running until the application’s UMS scheduler selects it to run. This differs from non-UMS threads, which the system scheduler automatically schedules to run.

The scheduler runs a worker thread by calling execute_ums_thread() with the worker thread’s UMS context. A UMS worker thread runs until it yields by calling the ums_thread_yield() function or terminates.