728x90
반응형
728x170
using System;
using System.Threading;
using System.Threading.Tasks;
#region 값 구하기 - GetValue(taskName)
/// <summary>
/// 값 구하기
/// </summary>
/// <param name="taskName">태스크명</param>
/// <param name="waitTime">대기 시간</param>
/// <returns>값</returns>
private int GetValue(string taskName, int waitTime)
{
Console.WriteLine
(
"태스크명 : {0}, 스레드 ID :{1}, 스레드 풀 사용 여부 : {2}",
taskName,
Thread.CurrentThread.ManagedThreadId,
Thread.CurrentThread.IsThreadPoolThread
);
Thread.Sleep(waitTime);
throw new Exception("에러가 발생했습니다!");
return DateTime.Now.Millisecond;
}
#endregion
Task<int> task = null;
try
{
task = Task.Run(() => GetValue("Task #1", 2000));
int value = task.GetAwaiter().GetResult();
Console.WriteLine("반환값 : {0}", value);
}
catch(Exception exception)
{
Console.WriteLine("예외 : {0}", exception);
}
728x90
반응형
그리드형(광고전용)
'C# > TPL' 카테고리의 다른 글
[C#/TPL] Parallel 클래스 : ForEach 정적 메소드를 사용해 디렉토리 크기 구하기 (0) | 2018.10.01 |
---|---|
[C#/TPL] Parallel 클래스 : For 정적 메소드를 사용해 디렉토리 크기 구하기 (0) | 2018.09.13 |
[C#/TPL] Task 클래스 : 스로틀링(Throttling) 처리하기 (0) | 2017.09.09 |
[C#/TPL] Task<T> 클래스 : Run 정적 메소드 사용하기 (0) | 2017.04.15 |
[C#/TPL] Task 클래스 : WhenAny 정적 메소드 사용시, 작업들 중에서 임의 비동기 실행 완료시 처리하기 (0) | 2017.02.07 |
[C#/TPL] Task<T> 클래스 : AggregationException 발생시 처리하기 (0) | 2017.02.07 |
[C#/TPL] Task 클래스 : WhenAll 정적 메소드 사용시, 모든 작업 완료 후 처리하기 (0) | 2017.02.07 |
[C#/TPL] Task 클래스 : WhenAll 정적 메소드 사용시, 모든 작업 완료 후 에러 발생시 처리하기 (0) | 2017.02.07 |
[C#/TPL] Task<T> 클래스 : 자식 태스크 실행하기 (0) | 2017.02.07 |
[C#/TPL] TaskAwaiter 클래스 : OnCompleted 메소드를 사용해 연속(Continuation) 완료시 처리하기 (0) | 2017.02.07 |
댓글을 달아 주세요