깊이 분석 C\#비동기 프로 그래 밍 상세 설명
4074 단어 C#비동기 프로 그래 밍
using System;
namespace ConsoleApplication1
{
class Class1
{
//
public delegate void AsyncEventHandler();
//
void Event1()
{
Console.WriteLine("Event1 Start");
System.Threading.Thread.Sleep(4000);
Console.WriteLine("Event1 End");
}
//
void Event2()
{
Console.WriteLine("Event2 Start");
int i=1;
while(i<1000)
{
i=i+1;
Console.WriteLine("Event2 "+i.ToString());
}
Console.WriteLine("Event2 End");
}
[STAThread]
static void Main(string[] args)
{
long start=0;
long end=0;
Class1 c = new Class1();
Console.WriteLine("ready");
start=DateTime.Now.Ticks;
//
AsyncEventHandler asy = new AsyncEventHandler(c.Event1);
// , AsyncState, null
IAsyncResult ia = asy.BeginInvoke(null, null);
// ,
c.Event2();
// , , , return, 。
asy.EndInvoke(ia);
// 。
//c.Event1();
//c.Event2();
end =DateTime.Now.Ticks;
Console.WriteLine(" ="+ Convert.ToString(end-start) );
Console.ReadLine();
}
}
}
여기 서 반전 함수 가 있 고 비동기 반전 에서 비동기 조작 이 있다.우선 비동기 로 Response Stream 을 얻 은 다음 비동기 로 데 이 터 를 읽 습 니 다.이 프로그램 은 매우 고전적 이다.그 중에서 많은 것 을 배 울 수 있다.우리 함께 토론 합 시다.요약 하면.net framework 는 다른 방법 으로 도 사용 할 수 있다.그래서 비동기 적 인 용도 가 광범 위 하 다..net framework 라 이브 러 리 에 도 비동기 호출 방법 이 많다.일반적으로 이미 Begin 시작 End 끝 에 한 쌍,비동기 의뢰 방법 을 구성 하고 두 개의 반전 함수 와 AsyncState 파 라 메 터 를 추가 하여 비동기 작업 의 거시적인 표현 을 구성한다.따라서 비동기 프로 그래 밍 을 하려 면 delegate,Begin,End,AsyncCallBack 의뢰,AsyncState 인 스 턴 스(리 셋 함수 에서 IAsyncResult.AsyncState 를 통 해 강제 전환),IAsycResult(비동기 감시)를 의뢰 하 는 것 을 잊 지 마 세 요.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.