강의

멘토링

커뮤니티

BEST
Programming

/

Programming Language

Python for Advanced Users: Learn the Grammar of Concurrency and Parallelism Feat. Multithreading vs. Multiprocessing (Inflearn Original)

This course is designed to cover the grammar of multi-threading, multi-processing, parallelism, and concurrency based on OS knowledge in preparation for technical interviews. You will learn basic knowledge about how to increase execution efficiency with multiple resources.

(4.8) 110 reviews

3,717 learners

  • inflearn
Python
concurrent

Reviews from Early Learners

What you will gain after the course

  • Performance Programming Based on a High-Level Operating System

  • Python Practical Grammar

  • Operating System OS Knowledge

  • High-level knowledge to prepare for Python technical interviews

  • Programming knowledge for developers (engineers)

  • Other development related knowledge

Python, Beyond the Basics to Real-World Applications!
Build deep expertise down to the core principles.

Stop worrying! Python Complete A to Z 🏃‍♂️
Bundle discount 50%

  • ✅ Python Basics to Advanced Grammar
  • ✅ Python Metaclass Design
  • ✅ Concurrent Programming

In-depth Python grammar course!
Python technical interview preparation & concurrency and parallelism basics programming methods included!

This course is designed for those who know and can use basic Python grammar, targeting job seekers who want employment in Python application fields, experienced developers (engineers) preparing for career transitions, and those who want to study Python's internal principles more deeply. It is prepared to help you learn knowledge about Python concurrency, parallelism, and distributed processing. Rather than simple mechanical explanations, we proceed live with hands-on coding together.

Mastering Python Final Edition
Concurrency and Parallelism, Threading and Multiprocessing Core Operating Principles and Features

Python Concurrency Programming from Explanation to Practical Example Implementation

As various open source projects utilizing Python are developing across a wide range of fields, global services are already being provided extensively in many areas. Support for concurrency technology across the overall programming domain has become a hot topic. Python also provides concurrency-related frameworks/libraries that are not lacking compared to other languages.

Many development languages that have lagged somewhat behind hardware advancements are showing vulnerabilities in processing speed, stability, and other areas during the process of building infrastructure and systems related to modern large-scale data processing.

People who develop software using Python need to learn data distribution solutions and concurrent programming that can fully utilize hardware performance to improve their skills to a certain level. This can be confirmed through the desired talent profiles of many IT companies.

Through collaborating with many developers, engineers, analysts, and other professionals in the field and conducting training, I've observed the growth of various colleagues. Some read specifications (documents) first before diving into coding without writing code directly, others use Python as a utility tool after moderate theoretical learning, and still others utilize Python while going back and forth between theory and practice... The conclusion drawn from these various patterns was that people who learn the inherent operating principles of programming languages and apply them to practice grow very rapidly. This would also be related to transitioning to desired jobs, salary increases, startup ventures, and more.

Want to become a skilled Python developer?

Learning concurrency/parallelism syntax for data processing
suitable for large-scale services is absolutely necessary.

Based on the above experience, I prepared this course to deliver content that matches Python's unique grammatical features in an easy-to-read format for theoretical content and practice-based learning of concurrent programming, which is essential to cover in depth in Python and other programming languages but often feels challenging.

Python is perceived as a language with slower performance compared to other languages. We will study various features that solve performance issues by examining the internal operating principles. Prior learning of computer architecture and operating principles is also important.

Based on extensive Python development experience and both online and offline teaching experience, I planned and conducted this course. Rather than simply understanding core principles theoretically, you will naturally understand them through the coding process we do together in this class.


Course Outline

Learning Order

  1. Environment Settings
  2. Multithreading - Python Multithreading
  3. Parallelism with Multiprocessing - Python Multiprocessing
  4. Concurrency, CPU Bound vs I/O Bound - Python Concurrency and CPU, I/O Binding

Sections 0-1 of the course provide preliminary learning on concurrency and parallelism that will be covered in later parts, based on basic environment setup and simple examples of Python threading.

Through this, you will learn examples that enable multiple calculations at the same time using regular threads and CPU. Additionally, you will be able to acquire sufficient basic knowledge about operating systems.

The 2nd to 3rd sections are the main topics of this course. Through writing simple and easy-to-understand examples of parallelism and concurrency, we provide performance comparisons between multithreading and multiprocessing, as well as examples of AsyncIO that encompasses all their advantages.

Additionally, you'll learn to write Python's signature concise and simple code through the high-level abstraction package Future.


After taking this course

Whether your purpose is hobby, research, or practical development, once you have accumulated experience in Python development, it's time to study fast execution time. Through well-organized examples, I will provide you with various experiences and know-how that can minimize the time and effort required.

After the course ends, you will have deep extended knowledge of Python concurrency and parallelism, enabling you to be prepared for high-level technical interviews with skillfully scalable Python knowledge foundation that can be utilized anytime in collaboration across various fields.

Furthermore, based on Python and operating system knowledge, after acquiring knowledge about concurrency and parallel processing, you will be able to take the first step toward developing fundamental programming skills for large-scale data distributed processing and server-side large-scale services.


This is recommended for these people!

(Inflearn Original - This course is designed for those who have learned beginner and intermediate Python, or those who can use Python at that level or higher 🙌)

One more time!

Intermediate to Advanced Grammar Challenge!
Python Beginner

Challenge Pagosu

Python Concurrency/Parallelism
For those who want to utilize it

Python Stack!

Python-based technical interview
job seekers in preparation

Step by step

Those who want to learn
Python in depth


Try it yourself!

This lecture is

  • This course covers from fundamental operating system knowledge and theoretical explanations of concurrency and parallelism to hands-on practical example exercises.


Related Roadmap
Inflearn Original Series: Python

#ConceptBuilding #PracticalFoundation #DataTypes
This course was created with actual practical application in mind, not just a basic 'taste' of fundamentals covered in existing Python beginner courses.
#Perfect Basic Review #Building Fundamentals #Solving Various Quizzes
This course is designed to improve efficient, safe, and clean code writing skills and problem-solving abilities through Python basics lectures.
#DataAnalysis #WorkAutomation
Prepare by learning advanced Python syntax and package utilization through an intermediate programming course that takes you one step beyond beginner level!
#Metaprogramming #Python Package Development
For job seekers and career changers, you can deeply learn Python's internal principles from the beginner application level
#ConcurrencyProgramming #PythonParallelism #PythonConcurrency Current Course
Provides knowledge about Python concurrency and parallelism for job seekers and career changers at the intermediate Python application level.

We provide lecture materials!

  • All example source files and PPT used in the class are provided as originals.

Recommended for
these people

Who is this course right for?

  • Anyone who wants to learn Python threading and multiprocessing

  • Anyone who wants to learn Python more deeply

  • Python-based job seeker

  • People preparing for Python technical interviews, such as career changes

  • Anyone who wants to learn Python in depth

Need to know before starting?

  • Those who have completed the Python basic course

  • Those who have taken the Inflearn Python Introduction course

  • Someone who can easily set up a Python development environment

  • People who use Python in practice

  • Programming knowledge

Hello
This is

713,084

Learners

6,908

Reviews

118

Answers

4.8

Rating

144

Courses

배움의 기회는 경제적, 물리적 한계에서 자유로워야 한다고 생각합니다.
우리는 성장기회의 평등을 추구합니다.

Curriculum

All

25 lectures ∙ (7hr 50min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

110 reviews

4.8

110 reviews

  • kijeong님의 프로필 이미지
    kijeong

    Reviews 9

    Average Rating 3.8

    3

    100% enrolled

    I wish the volume was similar to other digital lectures. There were times when I was surprised when I listened to other lectures or music while listening to this. I think there should be a standard for volume... Personally, I think it's better for Inflearn lectures to have the instructor's name written on them.

    • mw7895la7660님의 프로필 이미지
      mw7895la7660

      Reviews 7

      Average Rating 4.6

      3

      32% enrolled

      I'm listening to the lecture well, but the sound is too low.

      • ilco님의 프로필 이미지
        ilco

        Reviews 22

        Average Rating 5.0

        5

        92% enrolled

        Even without any knowledge of CS, you explained threads and processes, and some asynchronous programming concepts very easily and naturally. I also liked the way you lectured using analogies, focusing on concepts and theories, rather than demonstrating libraries or commands. Thank you for the great lecture! I hope you have a great day!

        • red1121983님의 프로필 이미지
          red1121983

          Reviews 5

          Average Rating 4.8

          5

          100% enrolled

          As Python is widely used, the common requirement for programming languages, namely, the demand for performance, naturally increases, and in order to meet that, specifications that gradually move away from the advantage of "Python is easy" are added. This change is a natural change in an active language, but if there is no technical explanation to support that change, it seems difficult to be effective. From that perspective, this lecture is really valuable! ^^

          • agnus님의 프로필 이미지
            agnus

            Reviews 9

            Average Rating 4.9

            5

            100% enrolled

            At first, I only wrote functions and used them in Jupyter, but I gradually got tired of the code duplication and the maintenance, so I wandered around, and then I learned about classes, so I applied classes somehow, and then I learned about asyncio, so I listened to the lecture while wandering around trying to use it somehow. I thought that asyncio was the only answer because it only shows what I know, but after listening to the lecture, I think I can write it while considering blocking, nonblocking, IObound, and CPUbound and mixing them appropriately. When I study alone, I always wander around without knowing the core and just think, "It's like this," but after listening to the lecture, I learned the core, and now I'm ready to add more flesh to it. Thank you so much for the lecture. I'll really code well based on what you taught me. Thank you!!

            Limited time deal ends in 7 days

            $5,531.00

            27%

            $47.30

            inflearn's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!