社区
C#
帖子详情
BackgroundWorker 和Thread 的关系
N11H11
2009-07-03 04:22:21
一个小程序需要用到一个6线程,我目前是用类似下面的程序来分别运行5个子线程
Dim t As New Thread(AddressOf t1)
t.Start()
如果我要用BackgroundWorker,是不是向窗体中拖入6个BackGroundWorker控件?
BackgroundWorker 和Thread的效率那个高一些?
...全文
372
7
打赏
收藏
BackgroundWorker 和Thread 的关系
一个小程序需要用到一个6线程,我目前是用类似下面的程序来分别运行5个子线程 Dim t As New Thread(AddressOf t1) t.Start() 如果我要用BackgroundWorker,是不是向窗体中拖入6个BackGroundWorker控件? BackgroundWorker 和Thread的效率那个高一些?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuxiangq
2010-09-25
打赏
举报
回复
以前一直用Thread。。。。。。今天才知道有个封装好的控件
scy251147
2009-07-03
打赏
举报
回复
wuyq11
2009-07-03
打赏
举报
回复
BackgroundWorker多线程组件
参考
kkun_3yue3
2009-07-03
打赏
举报
回复
BackgroundWorker就是一个高级控件,方便使用Thread,后者是前者的灵魂或基础
直接使用后者难度稍大,但换来的是灵活方便
haiwangstar
2009-07-03
打赏
举报
回复
跨线程访问线程 笔误
跨线程访问控件
haiwangstar
2009-07-03
打赏
举报
回复
给你总结一下:
BackgroundWorker与线程的关系:
1. BackgroundWorker在内部封装了线程.所以你创建了一个BackgroundWorker,就相当于创建一个线程,并且提供一个方法做为任务由它去执行. 而且从名字上看很明显,它是一个后台任务,一定要在单独的线程上运行的.
2.在WINDWOS桌面程序中使用线程时,常常会遇到需要跨线程访问线程的情况,因为WINDOWS的界面控件都不是线程安全的,所以不能直接跨线程访问,虽然.NET提供了BeginInvoke,Invoke的封送方法,但代码仍然较乏味.所以在.NET中,微软提供了对线程封装的组件BackgroundWorker,用这个类时,你可以在它的工作方法中去访问另外线程的控件,不必考虑封送,这是因为它内部帮你封送了.
3. 使用BackgroundWorker时,处理进度显示量容易.
4. 当你执行的任务较简单,不需要复杂控制时使用BackgroundWorker,较为方便;当你要执行的任务需要复杂控制(如线程同步)时,要自己 创建线程.
zhaoweiting0609
2009-07-03
打赏
举报
回复
BackgroundWorker执行单线程的是很可以用
多线程,得用Thread或者用线程池
这个效率都差不多吧
只是使用的方式不一样,BackgroundWorker为两个线程的执行提供了一个好的方式
background
worker
在android和ios中实现类似c#的
Background
Worker
的代码
C# 委托 线程 事件的事例代码
委托 线程 事件 非常好的说明事例!!
c#多线程与ui响应
c#多线程与ui响应
Thread
ing in C#
Thread
ing in C#. 提供如何使用 .Net 來建立與使用
Thread
、Process. Ex: How
Thread
ing Works, Synchronization Essentials, Locking and
Thread
Safety, Using
Thread
s...
多线程进度条(事件触发)
通过事件触发实现进度条的滚动,使用多线程防止界面假死
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章