BackgroundWorker.IsBusy此屬性值改變的時間點

本文探讨了BackgroundWorker组件中IsBusy属性的变化时机,并指出其在DoWork与RunWorkerCompleted事件间的状态变化可能导致逻辑错误。建议开发者采用额外标志来更准确地判断任务执行状态。

BackgroundWorker.IsBusy此屬性值改變的時間點

BackgroundWorker.IsBusy此屬性值改變的時間點

以前都沒有很注意這個屬性改變的時間點,最近遇到需要先判定是否該BackgroundWorker是否還在執行中,然後才進行下一步驟,

但在進行下一步驟前又需要先清除此次的資料,而在BackgroundWorker.RunWorkerCompleted 又需要用到這些資料,所以就會出錯了。

BackgroundWorker一進到DoWork,IsBusy會是true,一旦離開了DoWork,這個屬性就變成false了,

所以,進入RunWorkerCompleted 時,IsBusy就是false了,若您在RunWorkerCompleted全部完成才算結束的話,千萬不要用.IsBusy來判斷。

新增個欄位來判斷就好了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值