[VIDEO HAS ISSUES: bit of clipping start to finish.] If you are a programmer who cares about Python and concurrency, then you should also care about Python coroutines. Although they were first introduced in Python 2.5, coroutines remain one of Python's most overlooked features---often vaguely described as a curious "extension" of generator functions with little insight as to how they might be applied to real-world problems. This tutorial examines coroutines in a more practical light by showing how they are actually a very elegant way to implement a processing "task." Using this task abstraction, it is possible to use coroutines to implement processing pipelines, event handling systems, and programs based on cooperative multitasking. Moreover, if you define tasks using coroutines, they can be easily incorporated into more traditional concurrent programs that utilize threads or message passing.
PyCon is an activity of the Python Software Foundation, a 501c3 non-profit organization. To support future conferences, please donate to the Foundation at www.python.org/psf/donations . Video and audio material from PyCon are licensed under the Creative Commons CC-BY-NC-SA license . This means you can incorporate excerpts or entire recordings in your own non-commercial projects, as long as you credit the speaker and you CC-license the finished project.