강의

멘토링

로드맵

Programming

/

Web Development

C# Proper Learning (Advanced) Part.3,4,5 Threads and Tasks

This course is an advanced program that provides in-depth coverage of C# multithreading and asynchronous programming, systematically designed to help you learn concurrency handling techniques frequently used in real-world applications. First, you'll understand the basic concepts of threads and practice creating and managing threads, learning to precisely control thread states and behaviors through various thread methods, ThreadState enumeration, and Flags properties. Next, you'll practice the differences and use cases between **Interrupt() and Abort()**, and learn how to reliably implement thread synchronization using **lock keywords and Monitor class (Enter, Exit, Wait, Pulse)**. Additionally, you'll cover asynchronous programming techniques essential in modern development environments, practicing parallel programming using Task and Task<TResult> classes, and the Parallel class. Finally, through async/await keywords, you'll understand the differences between synchronous and asynchronous code and gain experience applying more efficient asynchronous processing methods to projects. Through this course, learners will acquire the ability to develop high-performance applications using multithreading and asynchronous programming, and gain confidence in solving concurrency issues and implementing efficient programs in real-world scenarios.

1 learners are taking this course

  • usefulit
C

What you will learn!

  • Understand the concept of threads and practice creating threads.

  • Learn how to handle threads and understand various thread methods through practice.

C# 제대로 배우기 (고급) Part.5,6,7 스레드와 태스크

본 과정은 C# 멀티스레드와 비동기 프로그래밍을 깊이 있게 다루는 고급 과정으로, 실무에서 자주 사용되는 동시성 처리 기법을 체계적으로 학습할 수 있도록 구성되었습니다.

먼저, 스레드의 기본 개념을 이해하고 스레드를 생성·관리하는 방법을 실습하며, 다양한 스레드 메소드와 ThreadState 열거형, Flags 속성 등을 통해 스레드의 상태와 동작을 세밀하게 제어하는 방법을 익힙니다. 이어서, Interrupt()와 Abort()의 차이와 사용 사례를 실습하고, lock 키워드와 Monitor 클래스(Enter, Exit, Wait, Pulse)를 활용하여 스레드 간 동기화를 안정적으로 구현하는 방법을 학습합니다.

또한, 최신 개발 환경에서 필수적인 비동기 프로그래밍 기법을 다루며, Task 및 Task 클래스, Parallel 클래스를 활용한 병렬 프로그래밍을 실습합니다. 마지막으로 async/await 키워드를 통해 동기 코드와 비동기 코드의 차이를 이해하고, 보다 효율적인 비동기 처리 방식을 프로젝트에 적용하는 경험을 쌓을 수 있습니다.

이 강의를 통해 학습자는 멀티스레드와 비동기 프로그래밍을 활용한 고성능 애플리케이션 개발 능력을 갖추게 되며, 실무에서의 동시성 문제 해결과 효율적인 프로그램 구현에 자신감을 가질 수 있습니다.

이런 내용을 배워요

🔹 섹션 1: 스레드와 태스크 1

  • 프로세스와 스레드의 개념, 멀티스레딩의 장점과 한계 이해

  • Start(), Join(), Abort() 등의 스레드 메소드 활용법 학습

  • 스레드 생성 방식(대리자, 람다식 등)과 우선순위, 스레드 ID 확인 실습

  • ThreadState 열거형과 Flags 속성을 활용하여 스레드 상태 제어

👉 기초 이론부터 실습까지 스레드 다루기의 토대를 쌓는 과정

🔹 섹션 2: 스레드와 태스크 2

  • Thread.Interrupt()Abort()의 차이점과 안정적인 종료 방법

  • lock 키워드로 스레드 동기화 처리, 올바른 사용법과 주의할 점

  • Monitor 클래스(Enter(), Exit(), Wait(), Pulse())로 저수준 동기화 구현

  • 공유 객체를 활용한 세밀한 동기화 프로그래밍 실습

👉 멀티스레드 환경에서 경쟁 조건과 교착 상태를 방지하는 실전 기법 습득

🔹 섹션 3: 스레드와 태스크 3

  • Thread vs Task의 차이와 비동기/동기 처리 개념 정리

  • Task.Run(), Task 활용 및 실행 결과 처리 실습

  • Parallel 클래스(For(), ForEach(), Invoke())를 활용한 병렬 처리

  • async/await 기반의 비동기 프로그래밍 구현

  • System.IO.Stream 클래스의 ReadAsync(), WriteAsync()를 통한 비동기 파일 처리

👉 최신 C# 개발에 필요한 비동기 프로그래밍 필수 기술을 완벽히 학습

수강 전 참고 사항

이 강의는 지식공유자의 질문/답변을 제공하지 않습니다

학습 자료

주차별 교안이 pdf파일로 제공됩니다

Recommended for
these people

Who is this course right for?

  • Any member who wants to learn C# programming

  • Any member who wants to develop computational thinking skills

Hello
This is

8,256,625

Learners

6,135

Reviews

4.6

Rating

298

Courses

유용한 IT 강의를 통해 여러분의 성장을 돕겠습니다.

Curriculum

All

29 lectures ∙ (15hr 48min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

$88.00

usefulit's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!