C#多线程控制进度条的异步调用怎么实现
这篇文章主要讲解了“C#多线程控制进度条的异步调用怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#多线程控制进度条的异步调用怎么实现”吧!
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟空间、营销软件、网站建设、千山网站维护、网站推广。
看看具体的步骤和实现:
在上面的代码中,我们注意到,我们没有给工作线程进入点(RunTaskThreadStart)传递任何参数,我们采用声明一个窗体类的字段 _seconds 来给工作线程传递参数。在某种应用场合不能够给工作线程直接传递参数也是一件非常痛苦的事情。
C#多线程控制进度条之异步调用的必要性:如何改进呢?我们可以使用委托来进行异步调用。委托是支持传递参数的。这样,就消除了我们刚才的问题,使我们能够消除额外的字段声明和额外的工作线程函数。
如果你不熟悉委托,你可以简单的把它理解为安全的函数指针。采用了委托异步调用,代码片断如下:
// 执行任务的委托声明 delegate void RunTaskDelegate( int seconds ); // 通过创建委托解决传递参数问题 private void _btnRun_Click( object sender, System.EventArgs e ) { //C#多线程控制进度条之异步调用 RunTaskDelegate runTask = new RunTaskDelegate( RunTask ); // 委托同步调用方式 runTask( Convert.ToInt16( _txtSecond.Value ) ); } //通过创建委托解决传递参数问题, //通过委托的异步调用消除用户界面线程的阻塞问题 private void _btnRun_Click( object sender, System.EventArgs e ) { RunTaskDelegate runTask = new RunTaskDelegate( RunTask ); // 委托异步调用方式 ,C#多线程控制进度条之异步调用 runTask.BeginInvoke( Convert.ToInt16( _txtSecond.Value ), null, null ); }
感谢各位的阅读,以上就是“C#多线程控制进度条的异步调用怎么实现”的内容了,经过本文的学习后,相信大家对C#多线程控制进度条的异步调用怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
本文名称:C#多线程控制进度条的异步调用怎么实现
文章来源:http://hbruida.cn/article/iphggc.html