后台工作进程还是线程?

2023-12-01

我有一个 Winform 应用程序,它在网格视图中列出了一批发票。用户选择批次并单击“生成发票”按钮。该过程大约需要 4-5 分钟。当它运行时,我将有一个选框进度条,并且想禁用所有按钮。

我应该使用后台工作进程还是创建一个新线程来运行此任务?


这正是BackgroundWorker 所针对的任务类型。您应该将其推入后台工作程序,并允许其运行。这提供了一种更新进度条等的简单方法。

没有理由为此创建自己的线程。通过BackgroundWorker 的ThreadPool 将工作得很好。

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

后台工作进程还是线程? 的相关文章

  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • 无锁算法真的比全锁算法性能更好吗?

    陈雷蒙德 http blogs msdn com b oldnewthing 一直在做一个huge http blogs msdn com b oldnewthing archive 2011 04 15 10154245 aspx ser
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写
  • ExecutorService 应该是静态的和全局的

    我想在我的应用程序中使用相同的线程池 为此 我可以使ExecutorService静态和全局 以便我可以调用ThreadUtil executorService to get ExecutorService当我需要它的时候 public c
  • 如何延迟 onClick 操作

    我正在尝试在 java 应用程序 android 中做一些事情 并且我需要一些东西来延迟 等待循环的秒数 我怎样才能延迟android功能 我尝试过使用 Thread sleep TimeUnit sleep 但它只会执行几秒钟的不负责任的
  • 并发访问且不受数据结构的影响

    问题是这样的 我有一个包含 500 个指针的数组 它们指向双向链表中的 500 个元素 有 10 个并行运行的线程 每个线程运行 50 个循环 并尝试释放列表中的某些元素 该列表已排序 包含简单整数 并且有 10 个其他线程并行运行 搜索包
  • Netty UDP 服务器中的线程未同时执行

    我正在分析的代码使用 Netty NioDatagramChannelFactory 创建 UDP 服务器 它创建一个线程池 ExecutorService threadPool Executors newCachedThreadPool
  • GCD 和线程

    我想了解一些有关 GCD 和线程的知识 我的视图控制器中有一个 for 循环 它要求我的模型执行一些异步网络请求 因此 如果循环运行 5 次 模型将发出 5 个网络请求 考虑到我正在使用 NSURLConnection 的 sendAsyn
  • 使用多线程使用rabbitmq消息队列(Python Kombu)

    我有一个带有单个队列的 RabbitMQ 交换 我希望创建一个运行多个线程并尽快通过该队列工作的守护进程 工作 涉及与外部服务的通信 因此每个消费者内部都会发生相当多的阻塞 因此 我希望有多个线程都处理来自同一队列的消息 我可以通过在主线程
  • ASP.NET MVC 多线程

    我想在我的 asp net mvc 应用程序中实现这样的逻辑 user clicks a button gt server executes some time consuming logic in 15 threads i get dat
  • 如何使用 c++11 CAS 实现 ABA 计数器?

    我正在基于此实现一个无锁队列算法 http www cs rochester edu research synchronization pseudocode queues html 它使用计数器来解决 ABA 问题 但我不知道如何用c 11
  • Java-线程与CPU的关系

    我对多线程还很陌生 我正在开发一个项目 尝试在我的 Java 程序中使用 4 个 CPU 我想做类似的事情 int numProcessors Runtime getRuntime availableProcessors ExecutorS
  • 在 Haskell 中创建 100 万个线程需要多长时间?

    据我了解 Haskell 有绿色线程 但它们的重量有多轻 是否可以创建100万个线程 或者 100 000 个线程需要多长时间 from here http www reddit com r programming comments a4n
  • 如何在报表查看器中添加参数?

    嘿 我在 Visual Studio 2010 中有一个表单应用程序 我想使用报表查看器创建一个报表并添加一些参数 我尝试从代码中添加参数 但没有成功 我有这个错误 tablix Tablix1 的 FilterExpression 表达式
  • 排序线程按照它们创建/启动的顺序运行

    我如何按照线程实例化的顺序对线程进行排序 我怎样才能让下面的程序按顺序打印数字1 10 public class ThreadOrdering public static void main String args class MyRunn
  • 将标签文本的一部分设置为粗体

    有什么办法可以使一部分label text要大胆吗 label text asd string 想要string部分要加粗 有可能吗 这怎么办 下面的类说明了如何通过覆盖来做到这一点OnPaint in the LabelWinForms
  • 如何配置应用程序以在具有高 DPI 设置(例如 150%)的计算机上正确运行?

    我用 C 创建了一个简单的 Winforms 应用程序 当我在具有高 DPI 设置 例如 150 的计算机上运行应用程序时 应用程序会放大 到目前为止 一切都很好 但所有文本也只是按比例放大 而不是使用更大的字体大小渲染字体 这当然会导致文
  • 如何获取基本表单中继承表单的大小?

    假设您有一个名为FormBase所有其他形式都继承自该形式 例如 我有public class Form formTest FormBase 我现在在 formTest 的 ctor 中拥有什么 public class Form form
  • C++,如何在进程或线程之间共享数据

    我有一个运行两个不同操作的程序 我想在它们之间共享变量 目前 我正在使用线程而不是 fork 进程 但即使我将它们声明为易失性 我在共享变量时也遇到问题 我尝试使用 boost 做 boost thread collisions threa
  • Scrollable Control中的Scroll/Scroll有什么用?

    ScrollableControl 类有 2 个受保护的布尔属性 HScroll 和 VScroll As the document https msdn microsoft com en us library system windows

随机推荐

  • 在量角器测试中修改 http 响应

    我正在尝试为应用程序的登录过程编写一些端到端测试 但我无法理解设置用户需要更改密码的场景的最佳方法 当我们的服务器响应成功登录时 会返回一个用户对象 其中包含changePassword场地 然后客户端检查响应并相应地重定向 我的问题是设置
  • 应用程序小部件未显示在 ICS 应用程序抽屉中

    有没有人经历过他们的应用程序小部件未列在 ICS 应用程序抽屉中 最初我为 FroYo 及以下版本启动了这个应用程序 它很好地支持应用程序小部件 随后出现了 Gingerbread 和 Honeycomb 它们也很有效 如果我打开 小部件预
  • 如何使用 readXML 读取 xml 属性? dataset.readxml如何转换为表格?

    我只是想知道 readXML 生成的表是什么样子的 假设 xml 文件看起来像这样
  • 程序收到信号 SIGSEGV:分段错误 - 大尺寸数组中的内存引用无效

    我在运行此代码时遇到错误 当我使用 L 16 或 L 32 等小 L 运行代码时 我没有得到任何错误 但在 7000 8000 步后 在 L 128 或 L 96 中 我得到以下错误 Program received signal SIGS
  • 如何在不物理创建结构的情况下获取结构的 Reflect.Type 实例?

    我想创建一个结构类型注册表 以动态加载 Project Euler 问题的解决方案 然而 我当前的解决方案要求首先创建结构并将其归零 然后才能注册其类型 package solution import errors fmt os refle
  • 如果我 fork() 然后执行 execv(),谁拥有控制台?

    我正在编写一个 Linux 应用程序 如果我打电话会发生什么fork 然后运行一个接受控制台输入的应用程序 考虑下面的代码 int process id fork if process id 0 this is the parent pro
  • 如何在字符串中包含尚未定义的变量? PHP

    为了执行更少的数据库查询和代码的清晰性 我想在字符串中包含一个尚未定义的变量 稍后在页面中 将声明变量并打印和评估字符串 我该怎么做呢 str This variable is delicious array array Apple Pin
  • 与 Java 7 相比,运行相同递归代码的相同线程在 Java 8 中似乎消耗更多的堆栈内存

    我在 stackoverflow 网站中询问有关 java堆栈溢出 的问题 对特定输入进行一些递归函数调用的特定线程运行良好Oracle Java 7 64 位 对于已配置的堆栈大小 228k Xss228k 但是 同一线程对同一输入运行相
  • 从不同表中减去两个字段

    我的查询是如何从 SQL 中的不同表中减去两个值 例如 我想要一列减去用户的空闲假期天数 这些天数必须是您在申请中要求的天数与您每年休假的天数之间的差值 我有两张桌子 sec users具有以下字段的表 pk user login dias
  • 如何使用 Google Apps 脚本代码创建草稿电子邮件(来自 985)?

    In 第985期 评论 29 中一位名为 yurec 可能 的开发人员提供了一些代码 用于在 Google Apps 脚本中创建草稿 文本 电子邮件 其他一些人感谢他所做的出色工作 并说它已经过测试并且有效 我对如何使用它以及代码的哪些部分
  • Python:通过迭代列表列表将项目附加到列表

    我是一个从 C 过渡到的 Python 新手 我基本上正在尝试实现与 C 中的数组指针数组等效的逻辑 我想通过迭代这些列表的列表来将一个项目附加到一堆列表的末尾 我有以下代码 data 10 20 30 list1 list2 list3
  • Swift - 如何确定 iOS 应用程序的最佳“部署目标”

    在 Xcode 上 您可以自行决定 部署目标 但您可能会选择太旧的版本来稳定运行应用程序 因为您的代码中的某些方法已被更高版本的 iOS 支持 例如 选择部署目标 8 0 但当您在 iOS 版本 8 0 的设备上运行应用程序时 应用程序崩溃
  • 为什么使用 Float(arc4random()) / 0xFFFFFFFF 而不是 drand()

    我是 Swift 新手 刚刚在教程中看到这段代码用于生成随机角度 func random gt CGFloat return CGFloat Float arc4random 0xFFFFFFFF func random min CGFlo
  • c# Clipboard返回null,但不能为空

    我正在尝试获取单击时生成并粘贴到剪贴板中的链接 我尝试了我能找到的一切 但我总是收到 null 即使当我将链接手动粘贴到记事本中时 我也明白了 我对每个定义的数据格式尝试了此代码 但所有内容都返回 null string clipboard
  • 如何交换两张卡而不改变其他卡的位置

    I have images in grid form something like this 我很清楚react dnd 它使用悬停来获取位置并相应地交换 我想要的是 Swap 1 with 4 and 4 with 1 怎么了 移动图像
  • 在 render 中调用 setState 是不可避免的

    React 文档指出render函数应该是pure这意味着它不应该使用this setState但是 我相信当状态依赖于 远程 时 即 ajax 调用的结果 唯一的解决方案是setState 里面一个render功能 就我而言 我们的用户应
  • 采用材料设计的自定义搜索栏

    我在布局中有一个搜索栏 用于自定义对话框首选项 我更改了 styles xml 以使用新的材质设计 它之所以有效 是因为它更改了我的设置的文本和复选框 但我无法将颜色应用到我的搜索栏 仅当我在活动中放置搜索栏时它才有效 这意味着我必须在自定
  • 将每小时的动物园时间序列输入函数 stl()

    在你问之前 是的 我需要显示这么多数据 stl 需要两个周期的数据 在本例中 一个周期有 24 个值 因此 stl 至少需要 48 个值 另外 来自 stl 帮助 这应该是 ts 类的对象 其频率大于 1 我正在升级一些旧的计算 以便我的数
  • 如何在 Angular 中将输入值作为参数传递给路由器

    我相信我想做的事情是微不足道的 但我尝试了很多不同的事情 但无法弄清楚 我有两个组件 SearchComponent and DetailsComponent显示搜索结果 路线模块 const routes Routes path comp
  • 后台工作进程还是线程?

    我有一个 Winform 应用程序 它在网格视图中列出了一批发票 用户选择批次并单击 生成发票 按钮 该过程大约需要 4 5 分钟 当它运行时 我将有一个选框进度条 并且想禁用所有按钮 我应该使用后台工作进程还是创建一个新线程来运行此任务