C#中一个异步回调的实例
2016-09-26 09:08
211 查看
namespace 委托_异步_回调 { class Program { //创建委托,并实例化一个方法 public delegate string MyDelegate(object data); private MyDelegate mydelegate = null; static void Main(string[] args) { //开始异步执行 mydelegate =new MyDelegate(TestMethod); IAsyncResult result = mydelegate.BeginInvoke("Thread Param", TestCallback, null); //判断是否执行完成 Console.Write("请稍等"); while (!result.AsyncWaitHandle.WaitOne(100)) { Console.Write("."); } Console.ReadLine(); } //线程函数,即异步执行的程序 public string TestMethod(object data) { string datastr = data.ToString(); System.Threading.Thread.Sleep(1000); return datastr; } //异步回调函数,异步执行完成以后需要返回的数据 public void TestCallback(IAsyncResult data) { //datastr,异步回调最终得到的数据,也就是异步执行程序执行完了以后的返回值 //data,异步回调的对象,也是传入回调函数的一个数据,可以用来和返回值进行相关操作 string datastr=mydelegate.EndInvoke(data); Console.WriteLine("\n"+datastr); } } }
相关文章推荐
- C#异步回调实例 持续获取CPU、内存使用率
- C# 多线程传参和返回值委托异步回调实例
- 用C#给程序加启动画面并只允许一个应用程序实例运行
- C#中只允许产生一个类的实例的方法
- C#中实例一个自定义类的数组的做法
- Visual Studio 2005(C#)中只允许一个实例运行的一种方法
- C#中只运行一个实例的方法
- 保证C#应用程序只有一个实例在运行
- c# MD5加密算法的一个实例
- C#.NET禁止一个程序启动多个实例
- Visual Studio 2005(C#)中只允许一个实例运行的一种方法
- 禁止一个应用程序的实例在同一台机器上运行多个(C#源码)
- .Net Remoting 事件回调 Client 函数方法完整实例: C# 实现控制台网络聊天室 (Console Remoting ChatRoom)
- 用C#给程序加启动画面并只允许一个应用程序实例运行
- 用C#让应用程序只有一个实例在运行
- c# MD5加密算法的一个实例(转载)
- c#:只运行一个实例
- 用C#给程序加启动画面并只允许一个应用程序实例运行[转]
- 如何在无刷新页面的情况下实现客户端回调实例(C#)—MSDN学习笔记
- 用C#给程序加启动画面并只允许一个应用程序实例运行