C#中Backgroundworker与Thread的区别是什么


本篇内容介绍了“C#中Backgroundworker与Thread的区别是什么”的有关知识,在实际案例的操免费云主机域名作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!BackgroundWorker是微软的在.net Framwork中添加的一个组件,主要对线程的访问提供了一种安全的方式。简单的说就是对Thread的一次封装。首先介绍一下BackgroundWorker的相关属性和方法:属性:WorkerReportsProgress:是否可以报告进度。WorkerSupportsCancellation:是否允许异步中止。IsBusy:是否在运行。CancellationPending:判断BackgroundWorker是否已经异步取消。方法:RunWorkerAsync:开始执行任务。触发DoWork事件ReportProgress:异步提醒,触发ProgressChanged事件,但是这个如果可以使用,必须设置WorkerReportsProgress为TrueCancelAsync:取消BackgroundWorker操作。事件:DoWork:执行RunWorkerAsync后触发,异步执行的认为。ProgressChanged:执行ReportProgress时触发,异步获得进度。RunWorkerCompleted:线程结束时触发,主要有成功结束,发生异常或者取消时发生。一个简单的例子:BackgroundWorker就是一个高级控件,方便使用Thread,后者是前者的灵魂或基础
直接使用后者难度稍大,但换来的是灵活方便。Thread的使用就比较麻烦了,对于尤其是对异步提醒来说,需要写委托,代码量是很多,但是对于BackgroundWorker来说,却没有线程暂停和继续的方法。但是对于一般的来说,这些功能也是不用的,而且在微软的文档中还提到了,Thread的Resume和Suspend已经不推荐使用。一个简单的例子:“C#中Backgroundworker与Thread的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: JavaScript闭包是什么及怎么用

这篇“JavaScript闭包是什么及怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript闭包是什么及怎么用”文章吧。对于一…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/11 21:43
下一篇 03/11 21:44

相关推荐