C# TASK 7가지 사용법, C# 스레드는 이제 그만 - 코딩 기록
Maybe your like
C# TASK 7가지 사용법, C# 스레드는 이제 그만
C# 스레드 사용보단 C# task로 비동기 처리하는 습관을 들여야합니다. 스레드 구현에 드는 시간과 비용보단 닷넷프레임워크에서 제공하는 task 사용이 합리적입니다.
[C# TASK 7가지 사용법, C# 스레드는 이제 그만]
먼저, using 문을 추가합니다.
| 1 | usingSystem.Threading.Tasks; | cs |
1. 직접 호출
| 12 | Task.Factory.StartNew(() => {Console.WriteLine("Hello Task library!"); }); | cs |
2. Action 사용
| 12 | Task task =new Task(new Action(PrintMessage));task.Start();Colored by Color Scripter | cs |
PrintMessage 함수는 아래와 같습니다.
| 1234 | privatevoid PrintMessage(){Console.WriteLine("Hello Task library!");}Colored by Color Scripter | cs |
3. 델리게이트 사용
| 12 | Task task =new Task(delegate { PrintMessage(); });task.Start();Colored by Color Scripter | cs |
4. 람다(Lambda) 사용
| 12 | Task task =new Task( () => PrintMessage() );task.Start();Colored by Color Scripter | cs |
5. 람다와 익명 함수(anonymous method)
| 12 | Task task =new Task( () => { PrintMessage(); } );task.Start();Colored by Color Scripter | cs |
6. 닷넷 4.5 이상에선 Task.Run
| 1234 | public async Task DoWork(){ await Task.Run(() => PrintMessage());}Colored by Color Scripter | cs |
7. 닷넷 4.5 이상에서 Task.FromResult 사용
| 123456789 | public async Task DoWork(){int res = await Task.FromResult<int>(GetSum(4, 5)); }privateint GetSum(int a, int b){return a + b;}Colored by Color Scripter | cs |
C# TASK 전에는 C# 델리게이트를 이용한 구현이 일반적이었는데 이제는 이마저도 번거롭게 되었습니다. C# TASK 또는 Async 문법을 이용해 델리게이트 구현은 생략해도 무방해졌어요.
C# TASK 7가지 사용법, C# 스레드는 이제 그만
Tag » What Is Task In C#
-
Task And Thread In C# - C# Corner
-
Task Class (System.Threading.Tasks) - Microsoft Docs
-
Task In C# Asynchronous Programming - Dot Net Tutorials
-
C# Task - Tutlane
-
Tasks In C# - Tutorialspoint
-
C# Task - Code With Shadman
-
Asynchronous Programming With Async, Await, Task In C#
-
C# Task - Linux Hint
-
Task 클래스 - 예제로 배우는 C# 프로그래밍
-
Difference Between Task And Thread - C# Tutorial And Source Code
-
How YOU Can Make Your .NET Programs More Responsive Using ...
-
What Is The Difference Between Task And Thread? - Stack Overflow
-
Tasks In C# – Csharp Star
-
C# Task - Concurrent Operations Using Task - ZetCode