后台工作者如何

2023-12-04

我正在尝试在我的程序中实现后台工作人员,这样当我运行程序并开始检索我需要的数据时它就不会冻结。

我不太清楚后台工作者是如何工作的。


后台工作人员是在后台运行的线程,它们在不中断/阻塞主线程的情况下工作。

您可以阅读更多内容here.

简而言之:

在 DoWork 中执行阻塞操作。只要有可能,请使用以下命令报告操作的进度:(sender as BackgroundWorker).ReportProgress(50);例如报告 50% 的完成情况。

您可以让主线程订阅“ProgressChanged”事件,该事件可以更新 GUI 或执行进度更改时应发生的其他任务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

后台工作者如何 的相关文章

  • 现代 C++ 编译器是否能够在某些情况下避免调用 const 函数两次?

    例如 如果我有以下代码 class SomeDataProcessor public bool calc const SomeData d1 const SomeData d2 const private Some non mutable
  • 未找到 Boost 库,但编译正常

    我正在尝试在 C 中使用 boost 的文件系统 使用时看起来编译没问题 c c Analyse c o Analyse o g W Wall L usr local lib lboost filesystem lboost system
  • extern 声明和函数定义都在同一文件中

    我只是浏览了一下gcc源文件 在gcc c 我发现了类似的东西 extern int main int char int main int argc char argv 现在我的疑问是extern是告诉编译器特定的函数不在这个文件中 但可以
  • cpp.react库的C++源代码中奇怪的“->* []”表达式

    这是我在文档中找到的 C 片段cpp react 库 https github com schlangster cpp react implicit parallelism auto in D MakeVar 0 auto op1 in g
  • 语音识别编程问题入门

    所以 你们可能都看过 钢铁侠 其中托尼与一个名为贾维斯的人工智能系统进行交互 演示剪辑here http www youtube com watch v Go8zsh1Ev6Y 抱歉 这是广告 我非常熟悉 C C 和 Visual Basi
  • Eigen 和 OpenMP:由于错误共享和线程开销而没有并行化

    系统规格 Intel Xeon E7 v3 处理器 4 插槽 16 核 插槽 2 线程 核心 Eigen 系列和 C 的使用 以下是代码片段的串行实现 Eigen VectorXd get Row const int j const int
  • 获取没有显式特征的整数模板参数的有符号/无符号变体

    我希望定义一个模板类 其模板参数始终是整数类型 该类将包含两个成员 其中之一是类型T 另一个作为类型的无符号变体T 即如果T int then T Unsigned unsigned int 我的第一直觉是这样做 template
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • 已发布的 .Net Core 应用程序警告安装 .Net Core,但它已安装

    我制作了一个 WPF 和控制台应用程序 供某人在我无法访问的私人服务器上使用 我使用 Visual Studio 2019 的内置 发布向导 来创建依赖于框架的单文件应用程序 当该人打开 WPF 应用程序时 他们会看到标准警告 他们单击 是
  • 模板外部链接?谁能解释一下吗?

    模板名称具有链接 3 5 非成员函数模板可以有内部链接 任何其他模板名称应具有外部链接 从具有内部链接的模板生成的实体与在其他翻译单元中生成的所有实体不同 我知道使用关键字的外部链接 extern C EX extern C templat
  • 在 C 中使用枚举而不是 #defines 作为编译时常量是否合理?

    在 C 工作了一段时间后 我将回到 C 开发领域 我已经意识到 在不必要的时候应该避免使用宏 以便让编译器在编译时为您做更多的工作 因此 对于常量值 在 C 中我将使用静态 const 变量或 C 11 枚举类来实现良好的作用域 在 C 中
  • memcpy/memmove 到联合成员,这是否设置“活动”成员?

    重要说明 一些评论者似乎认为我是从工会抄袭的 仔细看memcpy 它从普通旧地址复制uint32 t 它不包含在联合中 另外 我正在复制 通过memcpy 到工会的特定成员 u a16 or u x in a union 不直接到整个联盟本
  • 将 Word 转换为 PDF - 禁用“保存”对话框

    我有一个用 C 编写的 Word 到 PDF 转换器 除了一件事之外 它工作得很好 有时 在某些 Word 文件上 后台会出现一条消息保存源文件中的更改 gt 是 否 取消 但我没有对源文件进行任何更改 我只想从 Word 文件创建 PDF
  • Oauth2中如何同时撤销RefreshToken和使AccessToken失效

    我正在使用 Owin Oauth2 授权和资源服务器相同 开发单页面应用程序 AngularJS Net MVC Json Rest API 的身份验证流程 我选择了 Bearer Token 路由而不是传统的 cookie session
  • C++ 对象用 new 创建,用 free() 销毁;这有多糟糕?

    我正在修改一个相对较大的 C 程序 不幸的是 并不总是清楚我之前的人使用的是 C 还是 C 语法 这是在一所大学的电气工程系 我们 EE 总是想用 C 来做所有事情 不幸的是 在这种情况下 人们实际上可以逃脱惩罚 但是 如果有人创建一个对象
  • WPF DataGrid / ListView 绑定到数组 mvvm

    我们假设你有 N 个整数的数组 表示行数的整数值 在模型中 该整数绑定到视图中的 ComboBox Q1 如何将数组 或数组的各个项目 绑定到 DataGrid 或 ListView 控件 以便 当您更改 ComboBox 值时 只有那么多
  • 代码中的.net Access Forms身份验证“超时”值

    我正在向我的应用程序添加注销过期警报 并希望从我的代码访问我的 web config 表单身份验证 超时 值 我有什么办法可以做到这一点吗 我认为您可以从 FormsAuthentication 静态类方法中读取它 这比直接读取 web c
  • 没有“对 *this”功能的右值引用的解决方法

    我有一个围绕可移动对象的代理容器类 并希望代理能够隐式生成对底层对象的右值引用 但仅当代理本身被移动时 我相信我将能够按照提案 n2439 实施此行为 将移动语义扩展到 this http www open std org jtc1 sc2
  • 正则表达式仅允许特定数字

    我正在寻找一个只允许输入特定数字的正则表达式 例如2 4 5 6 10 18 我尝试过类似的东西 2 4 5 6 10 18 我输入的任何内容都无法通过正则表达式 然后计算机用手指着我并大笑 我哪里出错了 单引号是不必要的 您正在寻找的正则
  • 如何在 C 中将 char 连接到 char* ?

    我怎样才能前置char c to char myChar 我有c值为 A and myChar值为 LL 我怎样才能前置c to myChar使 ALL 这应该有效 include

随机推荐

  • EnumChildWindows 中的 MoveWindow 对对话框内的 listview 的影响:为什么 ListView 标题未正确滚动

    我有一个listview控制 lvc 它在一个DialogBox dbx 并且 dbx 也有一个垂直滚动条 每当滚动条滚动时EnumChildWindows调用以枚举 dbx 的所有子窗口 回调函数包含一个MoveWindow可以移动该 l
  • 无法安装 xkcd 字体

    我正在按照小插图中给出的说明尝试 xkcd 字体 vignette xkcd intro 但是执行以下步骤时出现错误 gt system cp xkcd tff t fonts cp xkcd tff No such file or dir
  • 使用sql查询将图像大小从150 * 150更改为70 * 70?

    我将图像存储在 SQL Server 2008 R2 数据库中名为 image1 的 varBinary max 列中 其大小为 150 150 我添加了另一列名为 image2 varBinary max 的列 我需要使用 image1
  • Firefox 文本区域大小调整错误?

    我正在尝试仅使用 CSS 创建一个固定的文本区域来填充浏览器窗口的整个宽度和高度 并且以下内容在 Chrome 中完美运行 textarea border 2px solid 3D6AA2 padding 5px position fixe
  • 从 MSBuild 发布中排除“.js”文件,但不排除“.min.js”文件

    使用 Visual Studio 和 MSBuild 我希望能够排除所有 js文件并包含所有 min js我的部署中的文件 我知道这可以使用 Visual Studio 中的文件属性来实现 但这不是一个选项 因为文件太多了 我有以下内容Pu
  • 数组初始化函数

    我在玩 C 时偶然发现了这个问题 我正在尝试初始化堆上的数组指针 它在initialize 它输出的地方69 但在main 它因错误而崩溃EXC BAD ACCESS include
  • 在 Java 中将 MP3 转换为 PCM

    我想用Java将MP3文件转换为PCM 怎么做 Get the mp3plugin jarJMF 的 将其添加到应用程序的运行时类路径中 为MP3提供解码器SPI Get an AudioInputStream对于 MP3 从AudioSy
  • Chrome 扩展程序弹出窗口关闭时是否有事件?

    我已经尝试过 window unload window beforeunload 等 我正在寻找一种在弹出窗口关闭后通知我的后台页面的方法 你可以试试这个 连接到您的后台页面chrome runtime connect or chrome
  • InnoSetup,展开环境变量(使用 {reg:...} 从注册表值获取)

    我尝试从注册表设置默认安装路径 DefaultDirName reg HKCU Software Microsoft VisualStudio 14 0 VisualStudioLocation userdocs Visual Studio
  • 如何将大写字母更改为小写字母,将空格更改为下划线

    我想将变量中的大写字符串字符更改为小写 并将空格替换为 我知道我可以对所有实例使用 if 语句 但这会花费太长时间 它将用户的输入保存到文件名中 即 user selection Barracuda Limited what I have
  • 如何将包含图像的跨度置于 div 中居中

    我有一个主 div homeGallery 其中有一个 span imgClass 用于加载图像列表之一 我需要图像在 div 中不仅垂直居中而且水平居中 到目前为止我有这段代码 homeGallery gt imgClass margin
  • 将 base64 字符串转换为 ArrayBuffer

    我需要将 Base64 编码字符串转换为 ArrayBuffer Base64 字符串是用户输入 它们将从电子邮件中复制并粘贴 因此在加载页面时它们不存在 如果可能的话 我想在 javascript 中执行此操作 而不对服务器进行 ajax
  • 如何在 Go 中向子路由器添加中间件?

    我有以下代码 apiRouter mux NewRoute PathPrefix Subrouter Bucket router bucket apiRouter PathPrefix bucket Subrouter bucket Met
  • 通过 PayPal 和信用卡接收付款

    我正在开发一个网站 我需要从 PayPal 和信用卡接收付款 问题是我对此一无所知 我的问题是我在哪里可以找到一些很好的资源来帮助我 或者如果您有一些示例代码 一切可以帮助我的东西 多谢 如果您计划集成 Paypal 您会发现 Paypal
  • 如何向单个sql命令添加超过10000个参数

    我想向单个 sql 命令添加超过 10000 个参数 怎么可能呢 据我所知 一个sql命令有2100个参数 我认为你应该回到 为什么 而不是直接跳到 如何 听起来也许您正在执行一些巨大的插入 更新 在这种情况下 更合适的解决方案是表值参数
  • Android:使多行编辑文本可滚动,在垂直滚动视图中禁用

    我正在开发一个应用程序 其中我在某个点上进行了结构 根据我的应用程序要求 我在 xml 中创建了水平滚动视图 然后在 java 中创建了垂直滚动视图 如下所示 Vertical Scroll view in Linear layout Sc
  • 如何在不使用 fetch 的情况下知道本地仓库与远程仓库不同?

    我有数十个存储库 如果发生任何差异 我的脚本应该更新它们 新提交 新标签 新分支 在我的情况下 对于数十个存储库来说 获取有点慢 我想知道是否有任何快速命令可以满足我的要求 您可以使用git ls remote管道命令无需获取即可获取遥控器
  • Android 蓝牙连接另一个蓝牙设备

    我正在做基于蓝牙的应用程序 我想连接其他设备 例如诺基亚设备和打印机 我参考了android蓝牙文档http developer android com guide topics connectivity bluetooth html 它演
  • * 和 + 正则表达式之间的区别

    谁能告诉我两者之间的区别 and 下例中的运算符 lt gt lt gt 它们每个都是量词 星号量词 表示前面的表达式可以匹配零次或多次 就像 0 而加量词 表示前面的表达式必须匹配至少一次或多次 并且它与 1 回顾一下 a gt a 0
  • 后台工作者如何

    我正在尝试在我的程序中实现后台工作人员 这样当我运行程序并开始检索我需要的数据时它就不会冻结 我不太清楚后台工作者是如何工作的 后台工作人员是在后台运行的线程 它们在不中断 阻塞主线程的情况下工作 您可以阅读更多内容here 简而言之 在