Using continuations to implement thread management and communication in operating systems | Synapse