C# TASK 7가지 사용법, C# 스레드는 이제 그만 - 코딩 기록

C# TASK 7가지 사용법, C# 스레드는 이제 그만

C# 스레드 사용보단 C# task로 비동기 처리하는 습관을 들여야합니다. 스레드 구현에 드는 시간과 비용보단 닷넷프레임워크에서 제공하는 task 사용이 합리적입니다.

C# Task 비동기[C# TASK 7가지 사용법, C# 스레드는 이제 그만]

먼저, using 문을 추가합니다.

1usingSystem.Threading.Tasks;cs

1. 직접 호출

12Task.Factory.StartNew(() => {Console.WriteLine("Hello Task library!"); });cs

2. Action 사용

12Task task =new Task(new Action(PrintMessage));task.Start();Colored by Color Scriptercs

PrintMessage 함수는 아래와 같습니다.

1234privatevoid PrintMessage(){Console.WriteLine("Hello Task library!");}Colored by Color Scriptercs

3. 델리게이트 사용

12Task task =new Task(delegate { PrintMessage(); });task.Start();Colored by Color Scriptercs

4. 람다(Lambda) 사용

12Task task =new Task( () => PrintMessage() );task.Start();Colored by Color Scriptercs

5. 람다와 익명 함수(anonymous method)

12Task task =new Task( () => { PrintMessage(); } );task.Start();Colored by Color Scriptercs

6. 닷넷 4.5 이상에선 Task.Run

1234public async Task DoWork(){ await Task.Run(() => PrintMessage());}Colored by Color Scriptercs

7. 닷넷 4.5 이상에서 Task.FromResult 사용

123456789public async Task DoWork(){int res = await Task.FromResult<int>(GetSum(4, 5)); }privateint GetSum(int a, int b){return a + b;}Colored by Color Scriptercs

C# TASK 전에는 C# 델리게이트를 이용한 구현이 일반적이었는데 이제는 이마저도 번거롭게 되었습니다. C# TASK 또는 Async 문법을 이용해 델리게이트 구현은 생략해도 무방해졌어요.

C# TASK 7가지 사용법, C# 스레드는 이제 그만

Tag » What Is Task In C#