博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delegte的BeginInvoke
阅读量:4557 次
发布时间:2019-06-08

本文共 1100 字,大约阅读时间需要 3 分钟。

BeginInvoke需要加委托才能行,否则会出错,给你段代码参考以下:

 BeginInvoke 所调用的委托根本就是在 UI 线程中执行的

 BeginInvoke实现了事件的异步执行,如实例:

private static int newTask(int mms)        {            Console.WriteLine("任务开始");            Thread.Sleep(mms);            Random random = new Random();            int n = random.Next(10000);            Console.WriteLine("任务完成");            return n;        }        private delegate int NewTaskDelegate(int mms); static void Main(string[] args)        {            NewTaskDelegate newTst = newTask;            IAsyncResult asyncResult = newTst.BeginInvoke(2000, null, null);            while (!asyncResult.IsCompleted)            {                Console.Write("*");                Thread.Sleep(100);            }            int result = newTst.EndInvoke(asyncResult);            Console.WriteLine(result);        }

执行效果:

*******************表示后台正在执行事件

public delegate void DCmdHandler(object s);if (servForm.IsHandleted){    servForm.BeginInvoke(new DCmdHandler(ExecuteCmd), cmd);}private void ExecuteCmd(object s){    //委托里需要干的事情}

转载于:https://www.cnblogs.com/liuxinls/archive/2013/02/09/2909670.html

你可能感兴趣的文章
广播与多播的区别
查看>>
新巴巴运动网 项目第七天
查看>>
Java反射
查看>>
mac下显示隐藏文件
查看>>
web开发性能优化---项目架构篇
查看>>
[LeetCode] Count Complete Tree Nodes
查看>>
XMPP协议的原理介绍
查看>>
POJ训练计划3080_Blue Jeans(串处理/暴力)
查看>>
python3.x 与 python2.x 差别记录
查看>>
HTML DOM 节点
查看>>
静态代码块 和 构造代码块
查看>>
生成随机验证码
查看>>
font-family,font-size,color
查看>>
平安夜和圣诞节
查看>>
Search Insert Position
查看>>
数据可视化(5)--jqplot经典实例
查看>>
u盘复制提示文件过大
查看>>
grails项目数据源配置
查看>>
mysql数据库索引简单原理
查看>>
【爱笑话7.0版】笑话两万篇,免费阅读,绝无广告
查看>>