是否适合使用BackgroundWorker来完成引发我收听的事件的工作
我是Threading的新手,但是我已经在BackgroundWorker(BW)上阅读了这些主题并且大部分都了解这些内容。我怀疑BW不是正确的解决方案,但让我问一下。
我有一个对象(GPS模拟器),它在一个循环中工作,主要是等待(Thread.Sleep()),但偶尔会引发一个UI监听的事件。我希望UI当然能够响应,所以将对象的工作放在后台会很好(如gps.Start())。在UI上,我希望能够暂停,恢复和停止GPS。我想我可以通过在GPS对象中设置适当的标志来破坏循环在后台运行。我不明白的是GPS引发的事件会发生什么。引发事件的线程不是正在侦听的线程,因此看起来,UI无法正确响应(如在UI上绘制新的GPS点)。
我错过了什么BW或有更好(但仍然很简单)的方式吗?
没有找到相关结果
已邀请:
2 个回复
泪琉踞檄
在你的
方法做这样的事情:
在你的进度改变事件处理程序:
我相信你有这个想法......
辩谷变充