C # 코드 구현 지연

Task.Delay (); 비동기 구현

시스템을 사용하여;
System.Threading.Tasks을 사용함;

csharpYS 스페이스
{
클래스 프로그램
{
정적 무효 메인 (문자열 []에 args)
{
Console.WriteLine ( "제 1 출력 미안 방법 ...")
# 지역 제 폼
VAR = Task.Run Task_1 (대리인 비동기
{
AWAIT (3000) Task.Delay;
Console.WriteLine ( "삼초, 모드 출력 문 다음에 수행 ...");
"비동기 실행 결과"를 반환; //은 (INT는 부울, 문자열을 시도 반환 값을 얻을 )
})
#endregion

Console.WriteLine ( "제 2 출력의 미안 방법 지연 전화 거는 중 ...");
Console.WriteLine ( "Task_1 상태 : {0}, 그 결과, {1}"task_1.Status, task_1.Result);
Console.WriteLine ( "지연 제 형태이고 ... 위에");

의 # 지역 두 번째 형태의
작업 task_2 = Task.Run (task_YS)
//task_2.Wait (); // 주석을 기다리지 않고 task_2 참고 개방 지연, 대기
#endregion을

Console.WriteLine (이하 "미안 방법의 최종 출력은 주요 방법을 종료 ...");
Console.ReadKey ();
}

작업 task_YS는 비동기 정적 공용 ()
{
AWAIT Task.Delay (5000)
]은 Console.WriteLine ( "5 초 양방향 출력 문 ... 후에 실행")
}
}

}

 

아래 그림은 코멘트 운영 결과이며, 주석으로 그림 II 개방형 운영 결과는) 자신의 실천의 사용을 권장 :(

 

위의 방법은 어린이 신발에 적용 할 수 없습니다 생각, 당신은 스레드를 사용하는 방법을 시도 할 수 있습니다 :

스레드 구현 :

간단한 예 :

시스템을 사용하여;
은 System.Collections을 사용함;
System.Collections.Generic을 사용함;
하여 System.Threading을 사용함;

네임 스페이스 ExceptionDeme
{
클래스 ThreadDemo
{
정적 무효 메인 (문자열 []에 args)
{
Console.WriteLine ( "메인方法开始执行...");
threadA = 새로운 스레드 (DownLoadFile)를 스레드;
threadA.Start ();
Console.WriteLine ( "메인方法执行结束...");

Console.ReadKey ();
}

무효 정적 () DownloadFile
{
다운로드를 시작 //이 완료 시뮬레이션 2S이다
Console.WriteLine ( "다운로드를 시작, 상승 과정 ID (현재) :"+ Thread.CurrentThread.ManagedThreadId)
에 Thread.sleep (2000);
Console.WriteLine ( " ;) "다운로드 완료
}
}

 

추천

출처www.cnblogs.com/qiudongxu/p/11358358.html