Holds execution until the task gets explicitly resumed.
Performs a single round of scheduling without blocking.
Runs any pending tasks.
Immediately switches execution to the specified task without giving up execution privilege.
Performs a single round of scheduling, blocking if necessary.
Lets other pending tasks execute before continuing execution.