co-routine

/ (ˈkəʊruːˌtiːn) /

noun

computing a section of a computer program similar to but differing from a subroutine in that it can be left and re-entered at any point