backgroundWorker.IsBusy 永远True

2024-03-05 17:36

本文主要是介绍backgroundWorker.IsBusy 永远True,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

软件判断 BackGroundWorker.IsBusy 永远为True解决办法

问题

后台工作BackGroundWorker可以通过BackgroundWorker.CancelAsync()请求停止。 进程是否停止,可以用
BackGroundWorker.IsBusy属性检测。
然而

            if(backgroundWorker.IsBusy){backgroundWorker.CancelAsync();while(backgroundWorkerScan.IsBusy){Thread.Sleep(100);}}

会陷入循环永不退出。

原因和解决方案

Sleep()阻止了backgroundWorker_RunWorkerCompleted()的运行。而 IsBusy需要等到RunWorkerCompleted运行完才转False。

这里RunWorkerCompleted是backgroundWorker的完成回调方法。

插入一个运行事件就可以解决:

            if(backgroundWorker.IsBusy){backgroundWorker.CancelAsync();while(backgroundWorkerScan.IsBusy){Application.DoEvents();Thread.Sleep(100);}}

这篇关于backgroundWorker.IsBusy 永远True的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/777285

相关文章

软件测试永远的家——银行测试,YYDS

为什么做金融类软件测试举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没有,业务稳定。实在是测试类岗位中的香饽饽! 一、什么是金融行业 金融业是指经营金融商品的特殊行业,它包括银行业、保险业、信托业、证券业和租赁业 往往涉及证券、银行、基金、信托、保险、投行、期货等领域 二、金融行业的业务特点 随着金融行业的业务不断增加,金融交易模式的不断变化,

mysql中,字段类型为tinyint(1),在查询时为啥不显示正常的数字而是true或false?

背景 在查询数据的时候发现gender字段应该显示1,2,3,4等这样的数字,但是查出来却是true或false这样的boolean类型 分析 不免产生疑问,为何education字段也是存的数字,就能正确显示出数字,而gender不行,我又查看字段,发现这两个字段的类型不一样 gender字段的类型是tinyint()类型,那在不想改变字段类型的情况下,该如何能查出正确的数据呢?

ScrollView的android:fillViewport=true

http://stackoverflow.com/questions/2599837/linearlayout-not-expanding-inside-a-scrollview http://blog.csdn.net/linqingf/article/details/6573602 当fillViewport="true" 设置为 true里 , scrollV

MySQL - 关于 False、True、0、1、tinyint(1) 的说明

MySQL 保存 Boolean 值时,用 1 代表 TRUE,0 代表 FALSE;类似一个 bit 位,默认没有数据,即为 0,也即 Faslse     MySQL 存储 Boolean 值的类型为 tinyint(1) 类型;MySQL 中有 true、false、TRUE、FALSE 四个常量,代表1、0、1、0 mysql> select true,false,TRUE,F

杰出程序员永远都不会说的几句话

作为一名软件工程师和一个有着12年经验的项目组领导人,我有很多机会和那些非常有才华的程序员做交流。通过沟通,我发现了一个很有意思的现象,那就是下面这些话几乎从来没有从这些令人膜拜的程序员嘴中说出来过。 “我习惯于使用______,但我不知道它是如何工作” 杰出的程序员源于自己的好奇心和不断的探索,这样才掌握了一项项非凡的技能。他们会仔仔细细研究事物运作的原理,即使这些信息可能永远也

没有永远免费的加速器,但是永远有免费的加速器【20240831更新】

没有永远免费的加速器,但是永远有免费的加速器【每日更新】 一、迅雷加速器(免费时长最高38天) 可免费时长:8天 如果是迅雷会员,则免费时长为38天 官网下载链接:迅雷加速器—迅雷官方出品,为快乐加速 (xunlei.com) 时长获取方式: 1、新用户注册获取时长: 非迅雷会员赠送24小时 迅雷会员赠送30天 2、使用兑换口令: 口令兑换输入“mmhh”即可获取7

antd vue switch组件怎么把值true、false改为uint32类型的1和0

背景 已知switch组件的checked属性默认是传入true 和 false的,但是有这样的业务情景,既需要使用的是开关,又需要传入的是整数,那么我们应该如何修改呢? 解决方案 <a-form-item label="允许失败时保存"><a-switch :checked="switchValue === 1" @change="handleSwitchChange"></a-swi

芒格-“用幸存者心态去对待问题,永远不要有受害者心态”

我不会因为人性而感到意外,也不会花太多时间感受背叛, 我总是低下头去调整自己,去适应这一类事情, 所以我不允许自己花太多时间,去感受背叛, 但凡有一丁点这种想法,从我脑海闪过,我就马上规避掉了, 我不喜欢任何成为受害者的感觉, 我认为这是一种反其道而行之的人类思考方式, 我不是受害者,我是幸存者。 ———————————————————————————————————————————— 一定要

当你不做的时候,你永远都不知道自己行不行

依稀记得2014年的11月,我开始写博客,那时候为什么想起写博客呢?因为,心里有好多话想说,当一个人在奋斗的路上遇到很多很多的问题(现在,渐渐明白,学习中的问题都不是问题,真正的问题是在这个过程中你心灵的成长,当你遇到这一系列问题的时候你怎么做),内心想说出来,但是不是所有人都能理解我们,所以我选择了博客,作为我一个自己,把我内心最想说的说出来。另一个方面,就是我想记录下我大学的生活,

JNPF 5.0升级钜惠,感恩回馈永远在路上

尊敬的JNPF用户们: 经过引迈团队数月的辛勤努力和不断的技术创新,JNPF快速开发平台迎来全新升级——5.0版本!此次5.0版本的迭代革新,不仅代表着我们技术实力的进一步提升,是我们对用户需求的深度理解和积极回应。为了感谢所有新老客户对我们长久以来的支持和信任,现隆重推出全场88折的特惠回馈,多重好礼,时间有限,机会不容错过! 全场8.8折活动 8月14日-8月31日,所有购买JNPF快速