日期:2014-05-18 浏览次数:20902 次
namespace ConsoleApplication1 { class Program { public delegate string TakesAwhileDel(int data,int ms); static void Main(string[] args) { TakesAwhileDel dl = TakesAwhile; dl.BeginInvoke(1, 6000, AsyncCallbackImpl, dl); System.Threading.Thread.Sleep(1000); Console.ReadLine(); } public static void AsyncCallbackImpl(IAsyncResult ar) { TakesAwhileDel dl = ar.AsyncState as TakesAwhileDel; string re = dl.EndInvoke(ar); Console.WriteLine("结果{0}", re); //TakesAwhileDel d2 = TakesAwhile; dl.BeginInvoke(1, 6000, AsyncCallbackImpl, dl); } static string TakesAwhile(int data, int ms) { Console.WriteLine("开始调用"); System.Threading.Thread.Sleep(ms); Console.WriteLine("完成调用"); string str = "测试成功"; return str; } } }
namespace ConsoleApplication1 { class Program { public delegate string TakesAwhileDel(int data,int ms); ManuResetEvent _BlockEvent=new ManuResetEvent(false); static void Main(string[] args) { TakesAwhileDel dl = TakesAwhile; dl.BeginInvoke(1, 6000, AsyncCallbackImpl, dl); _BlockEvent.WaitOne(); Console.ReadLine(); } public static void AsyncCallbackImpl(IAsyncResult ar) { TakesAwhileDel dl = ar.AsyncState as TakesAwhileDel; string re = dl.EndInvoke(ar); Console.WriteLine("结果{0}", re); _BlockEvent.Set(); } static string TakesAwhile(int data, int ms) { Console.WriteLine("开始调用"); System.Threading.Thread.Sleep(ms); Console.WriteLine("完成调用"); string str = "测试成功"; return str; } } }