1
我想了解什麼是IAsyncresult好,因此我寫了這段代碼。問題在於它的行爲如同我稱之爲「MetodaAsync」的正常方式。在調試時,程序在此停止,直到方法完成。任何幫助表示感謝,謝謝。爲什麼我的異步調用不起作用?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
delegate int Delegat();
static void Main(string[] args)
{
Program p=new Program();
Delegat d = new Delegat(p.MetodaAsync);
IAsyncResult a = d.BeginInvoke(null, null); //I have removed callback
int returned=d.EndInvoke(a);
Console.WriteLine("AAA");
}
private int MetodaAsync()
{
int AC=0;
for (int I = 0; I < 600000; I++)
{
for (int A = 0; A < 6000000; A++)
{
}
Console.Write("B");
}
return AC;
}
}
}
因此,如果它被阻塞,這裏的異步性是什麼?或者當我在Begin和EndIvoke之間做一些事情時,它會同時完成? – Petr 2010-04-30 07:48:54
@Petr:是的,它會同時執行。 – Henrik 2010-04-30 07:50:54