Calls to yield (reschedule) are inserted at key locations in code.

This can be done either by the programmer (manually) or by a compiler (automatically)

Not very common