这个异步基础,看不懂
时间:2011-12-11
来源:互联网
{
private static int newTask(int ms)
{
Console.WriteLine("任务开始");
Thread.Sleep(ms);
Random random = new Random();
int n = random.Next(10000);
Console.WriteLine("任务完成");
return n;
}
private delegate int NewTaskDelegate(int ms);
static void Main(string[] args)
{
NewTaskDelegate task = newTask;
IAsyncResult asyncResult = task.BeginInvoke(2000, null, null);
int result = task.EndInvoke(asyncResult); // EndInvoke方法将被阻塞2秒
Console.WriteLine(result);
}
}
请问,task.BeginInvoke,是怎么来的?委托中,没有这个方法啊?
查了下MSDN,BeginInvoke的返回值类型是DispatcherOperation这个东西啊,不是IAsyncResult接口啊
请解释一下异步?能否给一个异步编程的基础链接,百度么有
作者: dfsc24 发布时间: 2011-12-11
NewTaskDelegate task = newTask;
private delegate int NewTaskDelegate(int ms);
http://msdn.microsoft.com/zh-cn/library/0b1bf3y3.aspx
作者: fangxinggood 发布时间: 2011-12-11
和
delegate.BeginInvoke
不是一个概念。可能楼上链接贴错了。
作者: Sandy945 发布时间: 2011-12-11
Control.BeginInvoke
和
delegate.BeginInvoke
不是一个概念。可能楼上链接贴错了。
是贴错了。。。@__@
作者: fangxinggood 发布时间: 2011-12-11
话说 delegate 应该说是一个语法糖,delegate并翻译成一个类并有四个方法: .ctor, Invoke, BeginInvoke, EndInvoke。这个类继承于 MulticastDelegate
作者: fangxinggood 发布时间: 2011-12-11
http://msdn.microsoft.com/zh-cn/library/h80ttd5f.aspx
作者: Sandy945 发布时间: 2011-12-12
作者: Sandy945 发布时间: 2011-12-12
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28