Coroutine - Common Uses

Common Uses

Coroutines are useful to implement the following:

  • State machines within a single subroutine, where the state is determined by the current entry/exit point of the procedure; this can result in more readable code.
  • Actor model of concurrency, for instance in video games. Each actor has its own procedures (this again logically separates the code), but they voluntarily give up control to central scheduler, which executes them sequentially (this is a form of cooperative multitasking).
  • Generators, and these are useful for input/output and for generic traversal of data structures.

Read more about this topic:  Coroutine

Famous quotes containing the word common:

    It was common practice for me to take my children with me whenever I went shopping, out for a walk in a white neighborhood, or just felt like going about in a white world. The reason was simple enough: if a black man is alone or with other black men, he is a threat to whites. But if he is with children, then he is harmless, adorable.
    Gerald Early (20th century)

    I want relations which are not purely personal, based on purely personal qualities; but relations based upon some unanimous accord in truth or belief, and a harmony of purpose, rather than of personality. I am weary of personality.... Let us be easy and impersonal, not forever fingering over our own souls, and the souls of our acquaintances, but trying to create a new life, a new common life, a new complete tree of life from the roots that are within us.
    —D.H. (David Herbert)