1. A method comprising: executing an initial portion of a routine on an initial thread; processing a first return statement that is a yield statement, the processing of the first return statement causing the routine to temporarily exit the routine at an end point of the initial portion; identifying a subsequent thread different than the initial thread via a subsequent thread identifier included in the return statement, the return statement provided in response to the processing of the initial portion; and performing a subsequent execution of the routine on the subsequent thread via the first return statement, the subsequent execution executing a subsequent portion of the routine from the end point of the initial portion.