Thumbnail
지식공유자의 깜짝 할인 중(D-4)
BEST
개발 · 프로그래밍 백엔드

자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1] 대시보드

(5)
13개의 수강평 ∙  851명의 수강생

30%

69,300원

99,000원
지식공유자: 정수원
총 103개 수업 (44시간 9분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[백엔드, 웹 개발] 강의입니다.

자바의 동시성 메커니즘과 멀티스레딩 기법을 깊이 있게 다루고 실무에서 직면할 수 있는 다양한 병렬 처리 문제를 해결하는 데 필요한 지식과 기술을 익히게 됩니다. 기본적인 스레드 관리부터 시작하여, 고급 동기화 기술, 스레드 풀 사용 방법, 그리고 자바의 동시성 관련 클래스들을 심도있게 학습합니다

✍️
이런 걸
배워요!
자바 동시성 이해
다양한 멀티스레드 패턴 익히기
동기화 기법과 종류 이해
비동기 프로그래밍 이론과 실습
리액티브 프로그래밍을 위한 기초 다지기

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
자바 동시성 프로그래밍 세계를 경험하고 싶은 분
스레드의 전반적인 개념을 확실하게 정립하고자 하는 분
멀티 스레드 환경에서 어플리케이션을 개발하고자 하는 분
동기화 기법과 종류에 대한 확실한 개념을 알고 싶은 분
자바 비동기 프로그래밍에 대해 알고자 하는 분
📚
선수 지식,
필요할까요?
자바 기초
자바 함수형 프로그래밍 및 람다 사용법

안녕하세요
정수원 입니다.
정수원의 썸네일

다양한 프로젝트에서 웹/모바일/솔루션 제품 개발과 관련된 업무를 진행해 오고 있으며 분석/설계/개발 Role 을 맡아 오고 있습니다.

공공기간, 교육프로그램, 기업 프로젝트, 쇼핑몰 등의 웹 개발 및 솔루션 프로그램, 프레임워크, 오픈소스 연동 등의 아키텍처 설계 및 구조적 고도화 개선 등을 해 오고 있으며 개발, PL 등의 역할을 맡았습니다.

다양한 Open Source 와 여러 기술적인 경험들을 통해 웹의 전반적인 기술 흐름들을 익혔으며 개발 경험이 거듭될 수록 요구사항의 기능 구현에만 거치지 않고 좀 더 OOP 적인 구조의 소프트웨어로서 안전성과 성능을 고려한 아키텍처링과 튜닝의 기술들을 접목시켜 지속적으로 더 훌륭한 소프트웨어를 완성하기 위한 연구와 개발 실무를 책임감 있게 맡아 오고 있습니다.

 

커리큘럼 총 103 개 ˙ 44시간 9분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 강좌 소개
섹션 1. 운영 체제 기본
Process & Thread 미리보기 29:34 Parallel & Concurrent 미리보기 25:04
Context Switch 26:05
CPU Bound & I/O Bound 16:58
사용자 모드 & 커널 모드 18:13
사용자 수준 스레드 & 커널 수준 스레드 23:54
섹션 2. Java Thread Fundamentals - 스레드 생성 및 실행 구조
스레드 생성 미리보기 22:12
스레드 실행 및 종료 – 1 31:36
스레드 실행 및 종료 – 2 12:38
스레드 생명주기와 상태 40:55
섹션 3. Java Thread Fundamentals - 스레드 기본 API
sleep() 28:01
join() 37:51
interrupt() - 1 30:54
interrupt() - 2 14:17
name() / currentThread() / isAlive() 19:22
Priority 16:55
섹션 4. Java Thread Fundamentals - 스레드 활용
스레드 예외처리 - UncaughtExceptionHandler 미리보기 19:37
스레드 중지 – flag variable vs interrupt() - 1 15:39
스레드 중지 – flag variable vs interrupt() - 2 24:41
사용자 스레드 vs 데몬 스레드 24:15
ThreadGroup 36:17
ThreadLocal - 1 22:49
ThreadLocal -2 36:10
섹션 5. Synchronization Fundamentals - 동기화 개념
싱글 스레드 & 멀티 스레드 미리보기 26:21
동기화와 CPU 관계 15:06
Critical Section 25:41
안전한 스레드 구성 - 1 24:15
안전한 스레드 구성 - 2 19:46
섹션 6. Synchronization Fundamentals - 동기화 기법
Mutual Exclusion - 상호 배제 38:48
Semaphore - 세마포어 - 1 40:38
Semaphore - 세마포어 - 2 19:26
Monitor - 모니터 - 1 42:45
Monitor - 모니터 - 2 10:01
SpinLock & Busy Waiting 27:41
섹션 7. Java Synchronization
synchronized 기본 36:49
synchronized 메서드 동기화 34:07
synchronized 블록 동기화 41:12
synchronized 특성 11:23
스레드 간 협력 - wait() & notify() 38:35
volatile - 메모리 동기화 43:01
Deadlock - 교착상태 - 1 39:09
Deadlock - 교착상태 - 2 22:06
섹션 8. Java Locks
Lock & ReentrantLock - 1 31:22
Lock & ReentrantLock - 2 16:57
ReentrantLock API 30:13
ReadWriteLock & ReentrantReadWriteLock 27:04
ReadLock & WriteLock 38:53
Lock 공정성 10:39
ReentrantReadWriteLock 재 진입성 17:28
Condition - 1 35:46
Condition - 2 27:46
섹션 9. Java 동기화 도구
CAS (Compare and Swap) 이해와 활용 - 1 23:58
CAS (Compare and Swap) 이해와 활용 - 2 17:13
Atomic Variables - 단일연산변수 - 1 20:00
Atomic Variables - 단일연산변수 - 2 30:21
Atomic*FieldUpdater - 단일연산필드업데이터 39:21
CountDownLatch 22:04
CyclicBarrier 38:25
섹션 10. 자바 동시성 프레임워크
스레드 풀 이해와 구현 38:50
Executor 미리보기 25:12
Runnable and Callable 18:08
Future & Callback 이해 30:55
Future 구조 및 API - 1 31:06
Future 구조 및 API - 2 32:25
Future 구조 및 API - 3 19:02
ExecutorService API- 스레드 풀 실행 및 관리 20:33
ExecutorService API - 스레드 풀 중단 및 종료 - 1 21:13
ExecutorService API - 스레드 풀 중단 및 종료 - 2 30:29
ExecutorService API - 다중 작업 처리 24:11
ScheduledExecutorService 26:17
Executors - 고정 크기 스레드 풀 생성 22:01
Executors - 유동 및 단일 크기 스레드 풀 생성 14:22
Executors - 스케줄링 스레드 풀 생성 09:57
섹션 11. ThreadPoolExecutor 이해
corePoolSize & maximumPoolSize - 기본 스레드 & 최대 스레드 32:10
keepAliveTime - 스레드 유휴 시간 설정 12:52
BlockingQueue - 블로킹 큐 24:23
RejectedExecutionHandler - 스레드 풀 포화 정책 21:17
ThreadPoolExecutor Hook - 스레드 풀 Hook 메서드 08:52
생명 주기와 상태 & ThreadPoolExecutor 아키텍처 이해 43:18
섹션 12. 비동기프로그래밍 - CompletableFuture
동기 vs 비동기 & Blocking vs Non Blocking (1) 28:03
동기 vs 비동기 & Blocking vs Non Blocking (2) 29:58
CompletableFuture 개요 22:58
CompletableFuture API 구조 18:49
비동기 작업 시작 - supplyAsync() & runAsync() - 1 30:22
비동기 작업 시작 - supplyAsync() & runAsync() - 2 16:48
비동기 결과 조작 - thenApply()& thenApplyAsync() - 1 36:59
비동기 결과 조작 - thenApply()& thenApplyAsync() - 2 21:55
비동기 결과 조작 - thenAccept() / thenRun() 26:12
비동기 작업 조합 - thenCompose() / thenCombine() - 1 20:58
비동기 작업 조합 - thenCompose() / thenCombine() - 2 24:52
비동기 작업 조합 - allOf() & anyOf() 39:18
비동기 예외처리 - 1 22:55
비동기 예외처리 - 2 30:11
비동기 완료 처리 - 1 30:11
비동기 완료 처리 - 2 23:01
비동기 대기 / 취소 처리 29:12
ForkJoinPool - 1 20:46
ForkJoinPool - 2 20:51
ForkJoinPool - 3 57:18
섹션 13. 마무리
정리 및 다음 준비.. 14:48
강의 게시일 : 2023년 11월 28일 (마지막 업데이트일 : 2024년 03월 23일)
수강평 총 13개
수강생분들이 직접 작성하신 수강평입니다.
5
13개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
수환무 thumbnail
5
스프링 시큐리티 때부터 듣고 있는데 강의 자료에 디테일이나 꼼꼼한 설명이 정수원 강사님의 강점이라고 생각합니다. !!! 이런 강의를 준비한다는 것 자체가 많음 품이 들어가는 작업인데, 매번 감사드립니다. 주니어 개발자로서 성장하는 과정에서 꼭 들어야할 강의네요 !!!
2024-02-29
지식공유자 정수원
네 감사드립니다 수환무님도 계속 성장하는 개발자 되길 진심으로 응원합니다!!
2024-03-08
아무도_모를_아이디 thumbnail
5
지금까지 궁금했던 지식들을 모두 풀어주셔서 계속 감탄하면서 보고 있습니다. part 2 빨리 내주세요 ㅠ_ㅜ
2024-03-31
열심히 공부하겠습니다! thumbnail
5
쓰레드에 대한 개념이 부족했다면 무조건 강추하는 강의입니다! 아직 완강하려면 멀었지만 정말 돈이 아깝지 않은 강의입니다! 이런분이 사수로 계셨다면 얼마나 좋았을까요..! 여튼 강추입니다! 다음 강의도 기대하고 있겠습니다! 시큐리티 강의도 잘봤습니다~ 나중에 DB 관련된 강의도 진행해주시면 감사하겠습니다!
2024-03-06
지식공유자 정수원
네 이번에 스레드에 개념을 확실히 다지고 한단계 더 성장하는 밑거름이 되시길 바랍니다 감사합니다!!
2024-03-08
이민준 thumbnail
5
part 2는 언제나오나요?
2024-04-20
지식공유자 정수원
part 2 는 올해 후반기부터 진행 예정입니다. 다만 자바의 버추얼 스레드의 등장으로 리액티브 프로그래밍이 향후 어떻게 흘러갈지에 따라 진행에 있어 어느정도 변수가 발생할 수도 있을 것 같습니다. 소중한 평가 감사드려요^^
2024-04-20
pcdoom.co thumbnail
5
열심히공부해서 마스터하겠습니다.
2023-12-01
지식공유자 정수원
네 pcdoom.co 님 저도 꼭 마스터하시길 응원하겠습니다^^ 감사합니다~
2023-12-01
pcdoom.co
향후 정수원님의 스프링 시큐리티말고 스프링 웹개발 관련 강의들을 꼭 듣고싶습니다. 진짜 모든 강의들이 다 디테일을 살려 강의하신것같아요
2023-12-01
지식공유자 정수원
네 저도 개발자로서의 끊임없는 성장을 위해 계속 노력하겠습니다 감사합니다~
2023-12-03