검색결과 리스트
쓰레드에 해당되는 글 1건
- 2010.10.08 delegate를 이용한 비동기 처리...
요즘 delegate랑 thread를 열심히(?) 공부하고 있습니다..
나름 좀 이해가 된다고 생각은 되지만
언제 어떻게 적용하면 좋을지는 아직 잘 모르겠네요..;;;;
예제 코드는 이렇습니다.
일단 비동기로 호출할 Add 메서드가 있습니다.
}
public static int Add(int op1, int op2, out int result)
{
Console.WriteLine("[Add] 시작...");
Thread.Sleep(3000);
Console.WriteLine("[Add] 끝...");
return (result = op1 + op2);
public delegate int AddDelegate(int op1, int op2, out int result);
static void Main(string[] args)
{
int result; AddDelegate add = new AddDelegate(Add); Console.WriteLine("[Main] 비동기로 Add메서드 Invoke");
IAsyncResult iAR = add.BeginInvoke(6, 42, out result, null, null);
Console.WriteLine("[Main] 뭔가 하는거 처럼 보이도록..."); for (int i = 0; i < 10; i++)
{
Thread.Sleep(200);
Console.Write(".");
} Console.WriteLine("\n[Main] Add메서드가 끝날때 까지 대기...");
iAR.AsyncWaitHandle.WaitOne();
Console.WriteLine("[Main] Add메서드 종료"); add.EndInvoke(out result, iAR);
Console.WriteLine("[Main] result 는 '{0}'", result);
Console.ReadLine();
}
RECENT COMMENT