C++ coroutines have not yet been standardised, but are available today in Visual Studio 2015 (coming soon to clang/llvm) in the form of the stackless coroutines/resumable functions  presented at CppCon2016 .
This session will look beyond the canonical examples of generators and asynchronous IO to see if coroutines can be leveraged in the pursuit of C++ DSLs to make concurrency easier to work with for humans - "Concurrency at Human Scale".
As of writing, the investigations and technology behind this talk are still evolving, so the outcome is not a foregone conclusion.
Other material, illustrating the search for inspiration on how to tackle these problems, may include:
A look at other systems for specifying, testing and reasoning about concurrency such as Leslie Lamport’s PlusCal/TLA+  (see also ).
A look at the facilities for high level control flow manipulation afforded by other languages and runtime systems such as Racket’s first class continuations, continuation marks and prompts .
A look at other programming models for concurrency including Erlang’s actors (in the form of C++ Erlesque Actors ), Linda’s tuple spaces , and Syndicate’s coordinated concurrent proramming .
Level: Intermediate to expert
 Gor Nishanov, Jim Radigan : Resumable Functions - N4402 https://isocpp.org/files/papers/N4402.pdf
 CppCon 2016: Jame McNellis - Introduction to C++ Coroutines https://www.youtube.com/watch?v=ZTqHjjm86Bw&list=PLHTh1InhhwT7J5jl4vAhO1WvGHUUFgUQH&index=41
 CppCon 2016: Kenny Kerr & James McNellis “Embracing Standard C++ for the Windows Runtime" https://www.youtube.com/watch?v=v0SjumbIips&index=61&list=PLHTh1InhhwT7J5jl4vAhO1WvGHUUFgUQH
 CppCon 2016: Gor Nishanov “C++ Coroutines: Under the covers" https://www.youtube.com/watch?v=8C8NnE1Dg4A&index=87&list=PLHTh1InhhwT7J5jl4vAhO1WvGHUUFgUQH
 Leslie Lamport: The PlusCal Algorithm Language http://research.microsoft.com/en-us/um/people/lamport/tla/pluscal/
 ACCU 2016: Dominic Robinson : Test Driven Specification – A Gentle Introduction to TLA+ (finding concurrency bugs before you write code) https://accu.org/index.php/conferences/accu_conference_2016/accu2016_sessions#Test_Driven_Specification_%E2%80%93_A_Gentle_Introduction_to_TLA+_(finding_concurrency_bugs_before_you_write_code)
 Continuations in Racket https://docs.racket-lang.org/reference/cont/
 Mathew Flatt et al : Adding Delimited and Composable Control to a Production Programming Environment http://www.cs.utah.edu/plt/publications/icfp07-fyff.pdf
 ACCU 2014: Dominic Robinson : Comfortable concurrency https://accu.org/index.php/conferences/accu_conference_2014/accu2014_sessions#comfortable_concurrency http://www.infoq.com/presentations/concurrency-models
 Nichlas Carriero and David Gelernter : Linda in Context http://www.inf.ed.ac.uk/teaching/courses/ppls/linda.pdf
 Tony Garnock-Jones and Matthias Felleisen : Coordinated Concurrent Programming in Syndicate https://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjD7M_Fgs7QAhUHCMAKHR8uBucQFggaMAA&url=http%3A%2F%2Fwww.ccs.neu.edu%2Fhome%2Ftonyg%2Fmarketplace%2Fcoordinated-concurrent-programming-in-syndicate-20160111-1409.pdf&usg=AFQjCNGZN1pub5uMIq-Bek7eH7-EuooN4w&bvm=bv.139782543,d.d24