BEST

Kim Young-han's Practical Java - Advanced, Part 1: Multithreading and Concurrency

This course provides an in-depth study of multithreading and concurrency, from basic principles to practical applications.

(5.0) 308 reviews

7,173 students

Java
oop
thread
multithread
concurrent

This course is prepared for Basic Learners.

What you will learn!

  • Multithreaded

  • concurrency

  • Thread Pools and the Executor Framework

  • Processes and threads, scheduling, context switching

Ranked 1st in cumulative number of students enrolled in domestic development field
Kim Young-han's Practical Java Made Right

Just knowing Java grammar? That won't do!

Former Technology Director of Woowa Brothers, Cumulative Students Surpass 400,000
Why Kim Young-han created Java lectures

•••

“I wanted to create a proper Java course that would create proper developers needed for real work.”

Java Multithreading and Concurrency with Practice in mind

So far, we have learned the basics of Java programming and object-oriented concepts through "Java Introduction" , "Java Basics" , and "Java Intermediate 1 , 2 ", and learned various intermediate functions on top of that.

In this "Advanced Java 1" lesson, we will delve deeply into Java multithreading technology and concurrency issues.

  • Java Multithread Programming

  • Concurrency

  • Process and Thread, Scheduling

  • Context Switching

Kim Young-han's Practical Java Roadmap

This lecture is the fifth lecture of Kim Young-han's Practical Java Roadmap , and is intended for those who have learned Java's basic grammar and intermediate concepts and functions such as OOP (classes, generics, collections, data structures).

>> Introducing the Java Roadmap Guide to help you learn effectively and appropriately for your purpose .

The lecture "Kim Young-han's Practical Java - Advanced Part 1" is

The importance of essential understanding

Rather than simply learning Java's syntax and features, we delve deeply into why those features are necessary and how they can be applied in practice.

A practical approach

Rather than simply conveying theories, it provides step-by-step understanding of the necessity of Java technology through illustrations and example codes that help understanding. In addition, through various examples, you can understand how each technology is utilized in practice.

Our goal is more than just grammar.

In this advanced Java 1 lecture, we aim to completely master multi-threading and concurrency from CS basics to practical application techniques.

In addition, the advanced part 1 is the most extensive of the "Kim Young-han's Practical Java" series that has been released so far. It may be difficult to grasp the concepts at first, but if you are well equipped with the paradigm of multi-threading and concurrency through the lecture, it will become a basic skill that you can use for future programming (regardless of the language you use).

I will teach you so that you can go beyond simply knowing threads and gain a deep understanding of the Java multithreading technology and concurrency issues that are necessary for practical use, and so that you can properly utilize them in your work.

In “Advanced Java 2-3” that you will learn later,

In Advanced Java 2 and 3 (scheduled), which follow Advanced Java 1, you will learn how to use I/O, networks, and annotations. In addition, you will learn modern Java centered on lambdas, streams, and the latest features, and you will develop the skills that are essential for exploring best practices in actual work.

Lecture Contents

  • Based on CS theory

    Learn the basics of threading.

  • Learn how to solve concurrency problems and advanced synchronization techniques.

  • Master the multithreading techniques used in practice.

Learning CS theory to lay the foundation

Before dealing with threads, learn the necessary CS theories to have a solid understanding of the concepts. Build a foundation of core knowledge such as processes, threads, multithreading, and operating system scheduling.

Process & Thread

Multi-Tasking

Scheduling2 (@Schedule)

Thread Basics

Learn advanced synchronization techniques and better ways to solve concurrency problems, including thread creation and control, thread creation cycles, memory visibility, and understanding and solving concurrency issues.

Thread Control

Thread life cycle

Memory Visibility Volatile

Synchronized Synchronized

ReentrantLock - Advanced Synchronization

Thread Control - Various Examples

Learn several advanced techniques in threading

Learn about the producer-consumer problem that must be understood when utilizing threads. Learn the principles of CAS, a lock-free technology that solves this problem, and the principles and utilization of synchronized collections that can be utilized in multi-threaded situations.

Producer-Consumer Problem

CAS (Compare And Swap)

Synchronized Collection

Learn practical multi-threading techniques used in practice

Completely master the core multi-threading technologies essential for actual Java programming, including the principles and practical applications of the Future, Thread Pool, and Executor frameworks.

How Future Works

Thread Pool and Executor Framework - Principles

Thread Pool and Executor Framework - Practical Use

“Rather than thinking about what more I should teach, I thought more deeply about what absolutely must be known.”

In this 'Kim Young-han's Practical Java Roadmap', my goal is to create capable developers who have solid fundamentals that are necessary for actual work. I want to help you develop your capabilities as an engineer by establishing concepts that are helpful when you know and use them properly. I hope that through this lecture, many people can build a foundation for moving forward more easily, comfortably, and reliably.

Recommended for
these people!

Who is this course right for?

  • Aspiring developer

  • For those who have studied Java but want to solidify their fundamentals

  • Developers who want to understand Java more deeply for practical work

Need to know before starting?

  • Kim Young-han's Practical Java - Intermediate Level 1 & 2

  • Kim Young-han's Practical Java - Fundamentals

Hello
This is yh

531,553

Students

33,107

Reviews

8,854

Answers

5.0

Rating

22

Courses

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

More

Curriculum

All

118 lectures ∙ (20hr 48min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

308 reviews

5.0

308 reviews

  • Marin Frog

    Reviews 27

    Average Rating 5.0

    5

    5% enrolled

    생계문제로 다른 언어와 사투중에 강의개설을 보고 왔습니다. **블레이드 같은 게임도 나왔는데 개설했으니 플레이 하러 여름휴가 가시는건 아닐런지요 ㅎㅎㅎ :) 일에 치이다 보니 강의가 밀리기 시작하다보니 나태함을 아셨는지 아직 갈길이 멀다라고 알려주시는듯 해서 눈치봐서 연차라도 쓰고 강의 달리며 연말전까지는 각잡고 완강해야겠습니다. 항상 유익한 강의 고맙습니다. ps. 설마.. JVM 까지 나오는건 아니겠죠? (하실지도?)

    • 김영한
      Instructor

      Marin Frog님 고맙습니다 :) 멀티스레드와 동시성이 쉬운 내용이 아니다 보니, 최대한 쉽게 풀어서 설명하기 위해 그림도 많이 넣고, 내용도 많이 다듬었습니다 :) 그 만큼 시간과 에너지도 많이 사용했지만, 제가 오랜 시간에 걸쳐서 어렵게 배운 내용을 잘 정리하고, 그래서 다음 시대의 분들이 쉽고 빠르게 배울 수 있다는 생각에 또 힘이나네요 :) 저도 잘 충전하고 또 다음 강의도 열심히 준비하겠습니다 :) ps. 제가 좀 실용적인 부분들을 좋아해서, 실무와 관련이 있거나 실무에서 활용할 수 있는 기본 이론들을 주로 다룰 것 같아요 :) 그래서 JVM까지는 내려가지 않을 것 같아요 :)

  • 인프런

    Reviews 21

    Average Rating 5.0

    5

    100% enrolled

    예전에 학교에서 자바 스윙으로 게임만들면서 무지성으로 쓰레드를 생성하고 버그생겨서 고생했던 기억이 나네요 그땐 정말 쓰레드가 싫었는데.. 영한님 강의 덕분에 쓰레드가 이렇게 재밌는거였구나 생각이 듭니다. 방대한 내용이었지만 어려운 내용은 계속 반복해서 설명해주시면서 이해되고 제 머리속에 확실히 박혔습니다. 감사합니다! 특히 영한님의 강점은 어려운 기술을 설명하기 전에 기반이되는것부터 확실히 알려주시고 들어가는 건데, 이번 강의에서도 Future 인터페이스랑 Executor 정말 어려운 내용일줄 알았는데 알고보니 생산자소비자만 제대로 이해하니 정말 쉬웠습니다 감사합니다~

    • 김영한
      Instructor

      인프런님 앞으로 멀티스레드를 즐겁게 사용하실 수 있겠네요 :) 응원합니다!

  • 이미연

    Reviews 10

    Average Rating 5.0

    5

    100% enrolled

    멀티스레드의 세상에 입문하게 되어, 참으로 기쁩니다. 인류애 없이는 나올 수 없는 명강의 입니다. 그림과 로그를 어디에 남겨서 이해를 도울까 고민하신, 노고를 강의 중 귀여우신 생색내기? 로 알게되니, 인간미 넘치시는 영한님과 함께라면, 우주끝까지 재밋게 공부할 수 있을 듯 신뢰 넘칩니다. 큰 절이라도 하고싶은 고급1편입니다. 고급2편도 재밋게 듣겠습니다. 참으로 감사드립니다.

    • 김영한
      Instructor

      이미연님 열심히 공부하시고 이번에도 수강평 남겨주셔서 감사합니다 :) 덕분에 저도 다음 강의를 준비할 힘이 나네요 ㅎㅎㅎ 저도 열심히 해보겠습니다!

  • 박종철

    Reviews 34

    Average Rating 4.7

    5

    8% enrolled

    2024년 초복에 영한님 강의 오픈 알람이 너무 반가왔습니다. 늘 건강 잘 챙기시고 짱짱한 강의 계속 진행해 주시 길 바랍니다. 자바 실력, 손가락 실천이 '국룰' 이다~

    • 김영한
      Instructor

      박종철님 첫 수강평 감사합니다 :) 즐겁게 공부하시고 또 크게 성장하는 2024년 되시길 응원합니다!

  • 딩띵

    Reviews 5

    Average Rating 5.0

    5

    33% enrolled

    영한님 강의는 말해뭐해 정말 최고입니다. 스레드 개념이 이해되지 좌절 했는데, 강사님의 강의를 보면서 "아, 그래서 그때 회사에서 그렇게 설명했구나!" 하고 깨닫게 되며 이해도가 높아졌습니다 부끄럽지만, 3년차지만 기본기가 부족하다는 걸 느껴 처음부터 다시 공부하고 있습니다. 배워야 할 양은 많지만 꾸준히 공부하는 습관이 잡히지 않아 마음은 조급하고 죄책감들어 울면서 공부를 했습니다 하지만 강의평과 영한님이 남겨주신 댓글을 보며 힘을 얻었고, 강의 진도율에 따른 메시지?를 보면서 계속 마음을 다잡고 있습니다. 공부가 쉽지는 않지만, 꾸준히 노력하며 앞으로 나아가겠습니다! 여담이지만, 가족들 얼굴보다 영한님 얼굴을 더 자주 봐서 그런지 이제 가족처럼 느껴지기도 하네요. 😊

    • 김영한
      Instructor

      딩띵님 어려운 시기를 잘 극복하고 계시네요. 기본기를 탄탄히 다지면서 꾸준히 학습하시면 분명 더 좋은 개발자가 되실 거라 믿습니다. 가족 같은 느낌이라니, 열심히 공부하시는 것이 느껴지네요 ㅎㅎ. 항상 응원합니다!

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

$59.40