4
我遇到了這個有趣的問題:運行.net事件異步?
如果我有一個事件,2訂閱此事件長計算功能:
看來它的同步工作:(方法2將不得不等待至方法1到結束)
public class A
{
public event Action f;
public void Start()
{
f();
}
}
void Main()
{
A a = new A();
a.f += Work1;
a.f += Work2;
a.Start();
}
public void Work1()
{
"w1 started".Dump();
decimal k = 0;
for(decimal i = 0; i < (99999999); i++)
{
k++;
}
"w1 ended".Dump();
}
public void Work2()
{
"w2 started".Dump();
decimal k = 0;
for(decimal i = 0; i < 99999999; i++)
{
k++;
}
"w2 ended".Dump();
}
結果:
問:
恕我直言,它有一個調用列表和THAT'S就是爲什麼它同步運行的原因。
我該如何讓它運行A-synchronously
?
請注意:您需要'4.0' ... – Tigran 2012-08-15 07:24:51
@Tigran是的,但您也可以使用'BackgroundWorker','Thread'或異步委託調用'BeginInvoke'等。 – sloth 2012-08-15 07:28:59