The Three Python Concurrency Patterns: Which One to Choose?

By Iyanu Ajao

Elevator Pitch

Python is the 2nd best language for everything. But the arrival of languages that are faster and handle concurrency well can make Python become relegated.

This talk will expose you to the different concurrency patterns available to a Python developer and their respective advantages.

Description

Description

Python is a simple to use language for building anything. It has one of the largest programming language community because of it’s beautiful syntax. But there is a caveat. Python is relatively slow when compared with other languages. Concurrency is one way to improve the speed of your code. Now here lies the problem that will be tackled by this talk. There are different concurrency patterns in the Python language and this can be a source confusion for both beginner and intermediate developers. You often see questions like: what is the difference between threading and multiprocessing? What new problem does asyncio solve? etc.

Who and Why

This talk is for the following categories of developers:

  1. Beginners that want to understand the concept of concurrency and how it works in Python
  2. Intermediate developers that want to understand the difference between the available concurrency patterns
  3. Advanced developers looking for tips to improve their program by that tiny speed.

At the end of this talk, developers will have a good understanding on how concurrency works in Python.

Outline

  1. Concurrency in Python

    • What is Concurrency?
  2. The Patterns Available in Python and their Unique features

    • Threading
    • Multiprocessing
    • Asyncio
  3. Best Practices

    • Threading
    • Multiprocessing
    • Asyncio
  4. Scenerios and Which to Use

    • Threading
    • Multiprocessing
    • Asyncio