강의

멘토링

커뮤니티

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) 104 reviews

3,687 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

710,021

Learners

6,603

Reviews

118

Answers

4.7

Rating

137

Courses

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

Curriculum

All

25 lectures ∙ (7hr 50min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

104 reviews

4.8

104 reviews

  • 김기정님의 프로필 이미지
    김기정

    Reviews 9

    Average Rating 3.8

    3

    100% enrolled

    볼륨 좀 다른 디지털 강의와 비슷하게 맞줬으면 좋겠어요. 이거 듣다가 다른 강의 듣거나 음악 들으면 깜짝 놀랄 때가 있었네요. 뭐 음량에서 표준 같은게 있을거 같긴한데... , 개인적으로 인프런 강의는 강사님 이름이 표기된 것이 나은것 같네요.

    • WJ K님의 프로필 이미지
      WJ K

      Reviews 7

      Average Rating 4.6

      3

      32% enrolled

      강의 잘 듣고 있는데요 소리가 너무 작네요

      • 일코님의 프로필 이미지
        일코

        Reviews 22

        Average Rating 5.0

        5

        92% enrolled

        CS에 대한 지식이 없는 상태에서도 스레드와 프로세스, 그리고 약간의 비동기프로그래밍 개념을 이해할 수 있도록 굉장히 쉽고 자연스럽게 설명해주셨습니다. 라이브러리나 명령어 시연보다는 개념과 이론 위주로 비유를 들어 강의를 해 주시는 방식도 마음에 들었습니다. 멋진 강의 감사합니다! 행복한 나날 보내시기 바랍니다!

        • Wonil Shim/바른생활님의 프로필 이미지
          Wonil Shim/바른생활

          Reviews 5

          Average Rating 4.8

          5

          100% enrolled

          python이 널리 쓰이니 프로그래밍 언어에게 공통적으로 요구되는 것, 즉 성능에 대한 요구도 당연히 높아지고, 그걸 충족 시키자니 "python은 쉽다"라는 장점에서 조금씩 멀어지는 사양이 추가 되는 것 같네요. 이런 변화가 활성화 된 언어의 자연스러운 변화인데 그 변화를 지지해 줄 기술적 해설이 따르지 않으면 효과를 내기 어려운 것 같아요. 그런 관점에서 이 강의는 참 소중합니다.! ^^

          • Se Na님의 프로필 이미지
            Se Na

            Reviews 9

            Average Rating 4.9

            5

            100% enrolled

            처음에는 함수만 작성하고, 쥬피터에서 사용하다가 점점 코드 중복에 유지보수가 안되서 방황하다가 클래스를 알게되서 클래스를 어거지로 어찌저찌 적용하다가 asyncio를 알게되서 어거지로 사용하려는 방황중에 강의를 듣게 되었습니다. 아는 만큼만 보인다고 asyncio만이 답이라고 생각했는데, 강사님 강의를 듣고 bloking, nonbloking, IObound, CPUbound 를 고려하면서 적절히 섞으면서 작성할 수 있을 것 같습니다. 혼자 공부하면 매번 핵심을 모르고 방황하다가 대충 이런가보다하고 넘어가게 되는데, 강의를 들으니 핵심을 알게되고, 이제 여기서 더 살을 붙일 준비를 하게 되네요 강의 정말 감사합니다 가르쳐주신 것에서 정말 잘 코딩해볼게요 감사합니다!!

            Limited time deal ends in 00:57:50

            $45,370.00

            25%

            $47.30

            inflearn's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!