This course will teach you how to make your Python programs faster, more efficient, and responsive. You will learn how and when to use the threading, multi-processing, concurrent.futures, and asyncio modules.
Until recently, you could speed up your programs by simply running them on newer, faster hardware. Now, instead of making CPU's faster, hardware makers are adding more CPU cores to your computing devices. To make programs run faster today, employing concurrency techniques to get your programs running on multiple cores simultaneously is paramount. In this course, Getting Started with Python Concurrency, you'll learn how to make your Python programs more efficient, responsive, and faster using Python's concurrency packages. First, you'll explore how to choose the right concurrency package for your task. Next, you'll discover how to distribute a task to worker processes to speed up execution by running on multiple cores. Finally, you'll cover how to do node.js style asynchronous programming using the asyncio package. When you're finished with this course, you'll have a solid understanding of concurrency concepts and how to apply them in Python in a simple and readable manner to achieve greater performance results.
Tim Ojo is a software developer with a fondness for building scalable backend applications in Java, C#, Python, and Scala. He actively contributes to the developer community by blogging and speaking about topics, such as search engines, recommender systems, NoSQL databases, general developer best practices, and data science.
Course Overview Hi everyone, my name is Tim Ojo. I'm a software engineer at trivago, and I'd like to welcome you to my course, Python Concurrency Getting Started. Despite Python's popularity and its use in multiple areas from desktop and web development to scientific computing, many still regard it as a single-threaded language. In this course, we're going to learn how to execute tasks concurrently using pure Python. Some of the topics we'll cover include a Python-threading API, using multiprocessing to get around the GIL, the new asyncio module, and how to choose the appropriate concurrency mechanism for the task. The only prior knowledge needed for this course is a basic understanding of Python. And by the end of this course, you'll be able to develop faster and more efficient concurrent apps in Python. I hope you'll join me on this journey to learn Python concurrency with the Python Concurrency Getting Started course at Pluralsight.