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

一一影视网站源码app推广拉新公司

一一影视网站源码,app推广拉新公司,企业网站功能模块设计,怎么在百度知道做公司网站一、invoke和BeginInvoke的作用 invoke和begininvoke方法的初衷是为了解决在某个非某个控件创建的线程中刷新该控件可能会引发异常的问题。说的可能比较拗口#xff0c;举个例子#xff1a;主线程中存在一个文本控件#xff0c;在一个子线程中要改变该文本的值#xff0c;此…一、invoke和BeginInvoke的作用 invoke和begininvoke方法的初衷是为了解决在某个非某个控件创建的线程中刷新该控件可能会引发异常的问题。说的可能比较拗口举个例子主线程中存在一个文本控件在一个子线程中要改变该文本的值此时会有可能引发异常。windows GUI编程有一个规则就是只能通过创建控件的线程来操作控件的数据否则就可能产生不可预料的结果。 二者的使用情况有两种 1.在控件下应用实例类型是个control例如button等 2.在委托下进行使用实例对象是一个委托类型在使用时候会跳到当前线程。 invoke和begininvoke的区别 1、Invoke() 调用时Invoke会阻止当前主线程的运行等到 Invoke() 方法返回才继续执行后面的代码表现出“同步”的概念。 2、BeginInvoke() 调用时当前线程会启用线程池中的某个线程来执行此方法BeginInvoke不会阻止当前主线程的运行而是等当前主线程做完事情之后再执行BeginInvoke中的代码内容表现出“异步”的概念。在想获取 BeginInvoke() 执行完毕后的结果时调用EndInvoke() 方法来获取。而这两个方法中执行的是一个委托。 二、Invke用法示例 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;namespace 线程test1005 {public delegate void test(string s1);class Program{static void Main(string[] args){test tt new test(t1);Thread thread new Thread(() {tt.Invoke(你好);});thread.Start();string obj Thread.CurrentThread.ManagedThreadId.ToString();Console.WriteLine(主线程的ID : obj);Console.Read();}static void t1(string s1){string obj Thread.CurrentThread.ManagedThreadId.ToString();Console.WriteLine(s1支线程的ID :obj);}}提示本人准备建立一个技术交流群会将日常学习工作中遇到的问题和解决方案进行分享同时也会将代码和学习资料上传进去有什么不懂的问题可以咨询我vSJS66-12 生活所迫打个广告本人也代购莆田鞋不是中间商工厂直接取货价格优惠质量保证都是我自己前去挑选可以视频选购验货希望大家支持赚点生活费vSJS66-12   三、BeginInvoke用法示例 invoke和begininvoke对比 1.invoke用法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;namespace 线程test1005 {public delegate void test(string s1);class Program{static void Main(string[] args){test tt new test(t1);tt.Invoke(你好);for (int i 0; i 300; i){Console.Write(3);}Console.Read();}static void t1(string s1){for (int i 0; i 300; i){Console.Write(2);}string obj Thread.CurrentThread.ManagedThreadId.ToString();Console.WriteLine(s1支线程的ID :obj);}} }由结果可以看出invoke是依次按顺序向下执行 2.beginInvoke用法 首先介绍一下begininvoke的参数其中作重要的就是后两个参数这里使用了BeginInvoke方法的最后两个参数如果被调用的方法含有参数的话这些参数将作为BeginInvoke的前面一部分参数就是 传入调用方法的参数如果没有参数BeginInvoke就只有两个参数。第一个参数是回调方法委托类型这个委托只有一个参数就是IAsyncResult,如MethodCompleted方法所示。当method方法执行完后系统会自动调用MethodCompleted方法传入的其实也是调用方法的返回类型BeginInvoke的第二个参数需要向MethodCompleted方法中传递一些值一般可以传递被调用方法的委托类型。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;namespace 线程test1005 {public delegate void test(string s1);class Program{static void Main(string[] args){test tt new test(t1);tt.BeginInvoke(111, (a) {for (int i 0; i 300; i){Console.Write(1);}}, null);for (int i 0; i 300; i){Console.Write(3);}Console.Read();}static void t1(string s1){for (int i 0; i 300; i){Console.Write(2);}string obj Thread.CurrentThread.ManagedThreadId.ToString();Console.WriteLine(s1支线程的ID :obj);}} }由运行结果可以知道begininvoke可以继续执行调用方法后的函数关于begininvoke的具体用法可以参考该文章Delegate的BeginInvoke()_begininvoke参数-CSDN博客 例子 static void Main(string[] args){Console.WriteLine(主线程的ID: Thread.CurrentThread.ManagedThreadId);//标记显示主 线程IDSayHello sayhello new SayHello(Say);IAsyncResult iResultsayhello.BeginInvoke(Olive,new AsyncCallback(Result), sayhello);//三个参数1、Say函数的参数2、AsyncCallback类型的委托异步操作结束后执行的委托函数3、将sayhello对象作为状态参数在Result函数中会有用到该参数Console.ReadKey();}//AsyncCallback委托所执行的函数private static void Result(IAsyncResult iasyncresult){SayHello sayhello (SayHello)iasyncresult.AsyncState;//获取IAsyncResult对象的AsyncState的属性即为Delegate.BeginInvoke()的第三个参数即sayhello。string s sayhello.EndInvoke(iasyncresult);Console.WriteLine(s ------好了异步调用到这里已经结束了);}private static string Say(string name){Console.WriteLine(Hello!-------- name);Console.WriteLine(当前的线程ID为 Thread.CurrentThread.ManagedThreadId);return I Love you name;} 提示1.begininvoke的返回值类型为IAsyncResult 并且返回值会继续作为参数传入后续的AsyncCallback回调函数中Result。 2.函数的实际返回值需要通过EndInvoke进行获取 参考文章 控件和delegate的Invoke、BeginInvoke用法总结及基本逻辑_richtextbox1.begininvoke_勉之1.2.6的博客-CSDN博客C# 关于Invoke(详解_c# invoke-CSDN博客 BeginInvoke 用法 2 - 异步返回_begininvoke用法-CSDN博客 C#学习笔记--BeginInvoke和EndInvoke的基本用法-CSDN博客
http://www.hkea.cn/news/14589828/

相关文章:

  • 单页式网站系统煎蛋wordpress模板
  • 网站经营性备案哪个网站可以做加工
  • 淘宝上做进出口网站有哪些好的seo公司
  • 深圳建设网官方网站杭州python做网站
  • 电商网站建设步骤psd 下载网站
  • 网站建设汇报稿网站建设与管理的实训
  • 档案网站建设规范有哪些sem竞价代运营公司
  • 公司网站怎么维护做遗嘱的网站有哪些
  • 中职商务网站建设课件长泰建设局网站
  • 手机营销网站模板免费下载网站301重定向检测
  • 西安网站建设 中讯创赢郑州市建筑工程信息网
  • 个人如何建立网站wordpress m1 v2.4.1
  • 游戏发号网站源码微信小程序制作网站
  • 门户网站的优点做电影资讯网站算侵权吗
  • 珠海专业的免费建站临沂酒店建设信息网站
  • 公司网站备案有什么用做网站前端代码
  • wap网站方案海南百度推广公司有哪些
  • 做电子购物网站需要申请在福州做网站
  • 相亲网站上做投资的女生网站开发一般用的字体类型
  • 使用flask做前后端分离的网站wordpress 导入html
  • 济南网站推广¥做下拉去118cr威海网站推广
  • 网页和网站的不同门户网站建设模板下载
  • 哪些电影网站怎么建设的网站运营与管理试卷
  • 用dw做网站的流程北京通州区网站制作
  • 网站建设论坛快速建站专业做礼品团购的网站
  • 室内设计好不好学360优化大师下载官网
  • 个人免费自助建站网站建筑公司网站制作
  • 中山手机网站建设电话wordpress html音乐
  • 如何设计网站布局企业做网站的公司
  • 大庆医院网站建设八桂职教网技能大赛2024