问题标签 [backgroundworker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3440 浏览

.net - 是否可以杀死 BackgroundWorker 的线程?

是否有可能“杀死” a 的线程BackgroundWorker

在我的DoWork事件中,我无法检查取消标志,因为我有对外部 COM 接口的阻塞调用或对数据库的查询。CancelAsync不会取消对 COM 的调用。

请问我该怎么做?任何建议将不胜感激。

提前致谢。

0 投票
4 回答
4434 浏览

windows - 没有“跨线程”,我可以从 BackgroundWorker 访问什么?

我意识到我无法从 BackgroundWorker 的 DoWork 事件处理程序访问表单控件。(如果我尝试这样做,我会得到一个异常,正如预期的那样)。

但是,是否允许我访问表单上存在的其他(自定义)对象?

例如,我创建了一个“设置”类并在我的表单中对其进行了实例化,我似乎能够读取和写入它的属性。

这只是运气吗?

如果我有一个静态类怎么办?我可以安全地访问它吗?

0 投票
2 回答
2699 浏览

c# - 线程本地存储是否在后台工作程序调用之间持续存在?

后台工作线程是否被重用?

具体来说,如果我在后台工作程序的 DoWork() 方法期间设置了一个命名数据槽(线程本地存储),那么该数据槽的值是否会持续存在,以后可能会在其他线程中找到?

没想到,居然有这个BUG。。。

编辑:这篇博文建议BackGroundWorker使用ThreadPool,这意味着线程重用。所以问题变成了;重复使用的线程是否可能在调用之间保持线程本地存储?

0 投票
2 回答
1892 浏览

.net - 使用 BackgroundWorker 或 Threading 以获得高性能

如何为我的代码使用 BackgroundWorker 或 Threading。我更新 TreeView (Winforms) 并调用 WCF 服务。

请有任何建议。亲切的问候。

提前致谢

0 投票
4 回答
71472 浏览

c# - 此 BackgroundWorker 当前正忙,无法同时运行多个任务

如果我单击一个启动后台工作程序两次的按钮,我会收到此错误。

我怎样才能避免这种情况?

0 投票
2 回答
2783 浏览

c# - Progress bar in uploading Xml file

i want to use a background thread for the process of loading the XML data, possibly with a progress bar to let the user know that the application is actively doing something. i have written this code through searching the net.
i want to load a XML tree in treeview on winform when a user cliks a Browse button. In case of a large XML file the winform freezes.So to let the user know that in background the work is going on i want to add a progress bar.i have used a background worker here.

But it is raising an exception of System.ArgumentException showing this message "The URL cannot be empty.\r\nParameter name: url" on xmlDocument.Load(txtFileName.Text); this line.
My xml file is in correct format and is at the proper location where i selected. But i am unable to find the cause of this exception. Can you please help out or tell me the correction in my code?
Thanks....

0 投票
5 回答
5365 浏览

c# - 将类作为新线程运行

我想在一个新线程中开始工作或使用后台工作人员来做这件事,但之前没有做过,并问你我应该怎么做。

我的程序有一个带有文件列表的datagridview,每行一个文件。我希望用户能够选择一行,然后按“开始下载”开始下载的后台作业。我想获取有关下载进度的事件。

我有一个类 clsDownload 可以处理所有事情并引发事件,但是如何实现后台工作?

我应该在类内部使用 System.ComponentModel.BackgroundWorker 还是创建一些处理此问题的包装器或使用其他一些线程的东西?

谢谢。

编辑:我不明白如何在后台实现我的下载,任何小例子都会很好。msdn 上的示例并没有让我走得太远。

我有一个具有 StartDownload 功能的下载类。我应该在课堂上还是在调用者中使用后台工作人员?“感觉很愚蠢”

0 投票
5 回答
8359 浏览

c# - 后台工作者中止

我最近尝试使用 backgroundworker 而不是“经典”线程,我意识到至少对我而言,它导致的问题多于解决方案。我有一个后台工作程序运行同步读取(在这种情况下从 serialPort)并在 1 个代码行中被阻塞大约 30 秒,然后取消挂起不是解决方案。我看到,如果此时应用程序关闭(使用十字按钮和 Application.Exit()),该进程将永远保持僵尸状态。

我需要一种强制中止或终止后台工作线程的方法。

0 投票
3 回答
11519 浏览

.net - 如何正确取消并重新启动 BackgroundWorker 进程?

我的应用程序的用户将 HTML 类型输入到 TextBox 控件中。

我希望我的应用程序在后台验证他们的输入。

因为我不想锤击验证服务,所以我尝试在每次验证之前建立一秒钟的延迟。

但是,我似乎无法正确中断已经运行的 BackgroundWorker 进程。

我的 Visual Basic 代码:

似乎在调用了我的 BackgroundWorker 的 CancelAsync() 之后,它的 IsBusy 永远不会变为 False。它陷入了无限循环。

我究竟做错了什么?

0 投票
3 回答
2338 浏览

wpf - WPF后台工作人员无法识别工作人员对象

我有以下代码将后台工作人员添加到 VB.net WPF 项目中:

对于 DoWork 工作人员事件,我收到以下错误:

Handles 子句需要在包含类型或其基类型之一中定义的 WithEvents 变量。

似乎它在事件声明中丢失了一些东西,但找不到它。

有任何想法吗?