public void zad8() { del d1 = new del(silnia_iteracyjnie); del d2 = new del(silnia_rekurencja); del d3 = new del(fibbonacci_iteracyjnie); del d4 = new del(fibonacci_rekurencja); IAsyncResult ar1 = d1.BeginInvoke(20, null, null); long result1 = d1.EndInvoke(ar1); Console.WriteLine("Silnia obliczona iteracyjnie: " + result1); IAsyncResult ar2 = d2.BeginInvoke(10, null, null); long result2 = d2.EndInvoke(ar2); Console.WriteLine("Silnia obliczona rekurencyjnie: " + result2); IAsyncResult ar3 = d3.BeginInvoke(10, null, null); long result3 = d3.EndInvoke(ar3); Console.WriteLine("Fibonacci obliczony iteracyjnie: " + result3); IAsyncResult ar4 = d4.BeginInvoke(10, null, null); long result4 = d4.EndInvoke(ar4); Console.WriteLine("Fibonacci obliczony rekurencyjnie: " + result4); Console.ReadKey(); }
public static void CallFun(IAsyncResult iar) { AsyncResult ar = (AsyncResult)iar; del del = (del)ar.AsyncDelegate; del.EndInvoke(iar); Console.WriteLine("回调函数执行EndInvoke"); Console.WriteLine("回调函数完成"); }
static void Main(string[] args) { del d = updateConsole; var res = d.BeginInvoke(null, null); while (!res.IsCompleted) { // do the job here } d.EndInvoke(res); Thread.Sleep(1000); Console.Clear(); Console.WriteLine("Done!"); Console.Read(); }
static void Main(string[] args) { SilniaRR = new del(silniaR); SilniaII = new del(silniaI); fibRR = new del(fibR); fibII = new del(fibI); IAsyncResult sRR = SilniaRR.BeginInvoke(10, null, null); IAsyncResult sII = SilniaII.BeginInvoke(30, null, null); IAsyncResult fRR = fibRR.BeginInvoke(10, null, null); IAsyncResult fII = fibII.BeginInvoke(10, null, null); int result1 = SilniaRR.EndInvoke(sRR); int result2 = SilniaII.EndInvoke(sII); int result3 = fibRR.EndInvoke(fRR); int result4 = fibII.EndInvoke(fII); Console.WriteLine("SilniaR: " + result1 + "\nSilniaI: " + result2 + "\nFibR: " + result3 + "\nFibI:" + result4); }