zoukankan      html  css  js  c++  java
  • 如何及时取消 BackgroundWorker 组件的后台工作

    BackgroundWorker 提供的CancelAsync只是更改了属性值,实际上并未做任何的取消操作。当处理一个比较耗时的单个任务时,需要立即关闭后台线程,可采用如下做法。(注:BackgroundWorker 也不提供他当前工作线程的属性,其理由是它是随机从线程池中获取的线程,所以它也不清楚自己用的是哪个线程,这真的是个理由吗?)

    定义线程变量workThread,并在doWrok方法中将当前的线程赋值给它。

    Code

    当需要终止该后台工作时,直接中断现场即可。

    Code

    注意:中断线程之后的BackgroundWorker 不可再使用,需要重新的初始化。

  • 相关阅读:
    批量修改图片尺寸
    批量修改文件名
    C++ 字符串的编码
    Hanoi问题
    农夫过河问题
    遍历文件夹中所有图片
    仿射变换和透射变换
    程序局部性原理
    14年年底的学习计划
    linux之Vim使用
  • 原文地址:https://www.cnblogs.com/lfwolf/p/1355039.html
Copyright © 2011-2022 走看看