Python - Async IO: Coroutines in Python (PYTH4)

Programming, Python

Have you mastered all the common aspects of Python and only asynchronous coroutines are missing? Python offers the possibility of programming tasks processed by a scheduler within a single program thread. Together with a library for processing asynchronous communication and events, it is also possible to program using cooperative tasks in Python.

Sign up for a practical workshop that will guide you from simple iterators and generators to writing asynchronous coroutines. Learn to write event-based programs and multi-step cooperative tasks. Try an efficient programming style suitable for more demanding programmers.

Location, current course term

Contact us

Custom Customized Training (date, location, content, duration)

The course:

Hide detail
  • Basics of cooperative programming
    1. Concurrency of events and tasks
    2. Concurrent processing without threads
    3. Asynchronous tools in Python
  • Comparison of concurrent processing options
    1. Coroutines and callbacks
    2. Multithreaded applications
    3. Multiprocess applications
  • First coroutines
    1. Processing in parts
    2. Simple generators
    3. From generators to coroutines
    4. Non-blocking waiting
  • Input and output
    1. Integration with the operating system
    2. Waiting for events (futures)
  • Practical asynchronous programming
    1. Event loop
    2. Network communication
    3. User input and output
    4. Cooperative computational tasks
  • Important theory
    1. Asymptotic complexity of algorithms
    2. Cooperative cycles
  • Combination with operating system threads
    1. Multithreading and multiprocessing
    2. Integration of threads and event loop
    3. Existing I/O libraries and their integration
  • General recommendations
    1. Choice of tools for concurrent processing
    2. Multiprocessing, multithreading, coroutines
    3. Writing understandable code
Assumed knowledge:
Basic knowledge of Python programming.
Recommended previous course:
Python - Design Patterns (PYTH3)
Schedule:
3 days (9:00 AM - 5:00 PM )
Language: