Constrained by a main loop outside of my control (eg: UI event loop, game loop, etc...), I have a slow (relative to the main loop's expectations) algorithm involving a loop. Thus, I have to restructure the loop to be ___ (what is this term?) so that it can run partially each iteration (not 1:1) of the main loop (ie: splitting the loop into separate loop setup, check, logic, save, & teardown procedures). I'm aware that threading solves this issue w/o the need to refactor, and I'm not asking for the solution to needing to do this refactoring (even if it is effectively emulating entirely in user mode the logic supporting interrupts & context switching in a CPU), just the term for it.
Words I've come up with but already have other meanings in programming:
re-entrant, serialized, unrolled
If this term already exists, my google-fu has been unable to identify it.