当前位置: 首页 > news >正文

做的网站进不去后台如何做滴滴网站平台

做的网站进不去后台,如何做滴滴网站平台,品牌建设 企业发言,十大营销咨询公司我理解的invoke和begininvoke 一直对invoke和begininvoke的使用和概念比较混乱#xff0c;这两天看了些资料#xff0c;对这两个的用法和原理有了些新的认识和理解。 首先说下#xff0c;invoke和begininvoke的使用有两种情况#xff1a; 1. control中的invoke、begininvok… 我理解的invoke和begininvoke   一直对invoke和begininvoke的使用和概念比较混乱这两天看了些资料对这两个的用法和原理有了些新的认识和理解。  首先说下invoke和begininvoke的使用有两种情况   1. control中的invoke、begininvoke。   2. delegrate中的invoke、begininvoke。     这两种情况是不同的我们这里要讲的是第1种。下面我们在来说下.NET中对invoke和begininvoke的官方定义。   control.invoke(参数delegate)方法:在拥有此控件的基础窗口句柄的线程上执行指定的委托。   control.begininvoke(参数delegate)方法:在创建控件的基础句柄所在线程上异步执行指定委托。   根据这两个概念我们大致理解invoke表是同步、begininvoke表示异步。但是如何来进行同步和异步呢我们来做一个测试。 invoke 例子  private void button1_Click(object sender, EventArgs e){            MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString()AAA);            invokeThread new Thread(new ThreadStart(StartMethod));            invokeThread.Start();            string a string.Empty;            for (int i 0; i 3; i)      //调整循环次数看的会更清楚            {                Thread.Sleep(1000);                   a a B;            }            MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString()a);}  private void StartMethod(){            MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString()CCC);            button1.Invoke(new invokeDelegate(invokeMethod));              MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString()DDD);}  private void invokeMethod(){            //Thread.Sleep(3000);            MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString() EEE);}  结论我们运行后看下程序的运行顺序1AAA-3CCC和1BBB-1EEE -3DDD 。  解释主线程运行1AAA然后1BBB和子线程3CCC同时执行然后通过invoke来将invokemethod方法提交给主线程然后子线程等待主线程执行直到主线程将invokemethod方法执行完成期间必须等待主线程的任务执行完成才会去执行invoke提交的任务最后执行子线程3DDD。   begininvoke 例子 private void button1_Click(object sender, EventArgs e){            MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString()AAA);            invokeThread new Thread(new ThreadStart(StartMethod));            invokeThread.Start();            string a string.Empty;            for (int i 0; i 3; i)      //调整循环次数看的会更清楚            {                Thread.Sleep(1000);                   a a B;            }            MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString()a);}  private void StartMethod(){            MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString()CCC);            button1.BeginInvoke(new invokeDelegate(invokeMethod));              MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString()DDD);}  private void beginInvokeMethod()        {            //Thread.Sleep(3000);            MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString() EEEEEEEEEEEE);        }   结论 我们运行后看看执行的结果1AAA-1BBB和3CCC-1EEE和3DDD。 解释 主线程运行1AAA然后1BBB和子线程3CCC同时执行然后通过begininvoke来将invokemethod方法提交给主线程然后主线程执行1EEE主线程自己的任务执行完成 同时子线程继续执行3DDD。   通过这个两段代码的测试比较我们会发现其实invoke和begininvoke所提交的委托方法都是在主线程中执行的其实根据我invoke和begininvoke的定义我们要在子线程中来看这个问题在invoke例子中我们会发现invoke所提交的委托方法执行完成后才能继续执行DDD在begininvoke例子中我们会发现begininvoke所提交的委托方法后子线程讲继续执行DDD不需要等待委托方法的完成。 那么现在我们在回想下invoke同步和begininvoke异步的概念其实它们所说的意思是相对于子线程而言的其实对于控件的调用总是由主线程来执行的。我们很多人搞不清这个同步和异步主要还是因为我们把参照物选错了。其实有时候光看概念是很容易理解错误的。   posted on 2011-11-03 11:57 zhao.zk 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/Z-King/archive/2011/11/03/2234337.html
http://www.huolong8.cn/news/80440/

相关文章:

  • 网站建设美工怎么做流量网站
  • 网站自动识别移动终端顺义做网站公司
  • 电子商务网站建设的规划方案邮箱官方网站注册
  • 网站模版购买发布网页版传奇世界什么组合最好
  • 西安英文旅游网站建设建设项目环境影响网站
  • 万州房产网站建设怎样自己建设一个网站
  • 德钦网站建设资源搜索器
  • 做网站后期需要什么费用中国建设银行积分商城网站
  • 资讯类网站模板asp欧美跨境电商平台有哪些
  • 江西网站设计电话网站页面设计制作
  • 班级网站建设心得体会范文免费的排版软件
  • 网站建设企业合作邀请函广州10大网站开发
  • 浏览器怎么打开网站服务器连接互联网舆情信息
  • 百度网盘做存储网站wordpress阅读全文插件
  • 建设网站用外包模板可以上线吗华为网站建设目标
  • 凡客网站登陆有效的网络编址方案有
  • 电商网站创建的几个阶段外贸推广排行榜
  • 长沙建设信息网站做资金盘网站违法吗
  • 用jsp做的网站源代码下载兴宁房产网
  • 网站空间500m是什么系统学做网站
  • 个人网站备案的好处越秀区pc端网站建设
  • 重庆市城市建设档案馆网站网站开发中用什么安全性比性比较高
  • 心理咨询网站dede网站 地图什么做
  • 公司找人做网站需要什么网站建设方案书填写示例
  • 在线免费开网站上海网站seo优化
  • 企业网站备案名称要求书法网站模板下载
  • 建站工具华为wordpress tag 404
  • 建设网站要多少钱免费网络课程教学平台
  • 青岛网站建站团队承德做网站设计的
  • 金融公司网站制作老实人做网站