【问题标题】:Is there a way to delay the application without making the form pause? [duplicate]有没有办法在不暂停表单的情况下延迟应用程序? [复制]
【发布时间】:2022-06-10 15:26:20
【问题描述】:

目前,我正在编写一个应用程序,需要调用一个 exe 文件来处理图像。但是这个exe文件处理时间比较长,如果我使用WaitForExit,整个软件将无法对表单进行操作。所以我发布这篇文章是希望有人可以帮助我,以便我可以等待exe文件完成处理而不会出现上述情况。 更新:如果我对这个应用程序使用多线程,exe文件会占用计算机的所有内存

【问题讨论】:

  • 可能很多技术都可以使用:Background Worker、Tasks、Threadpool。我猜Tasks 将是最现代的方法。
  • @UweKeim 我知道,但我还有另一个问题。也就是说,如果我运行多线程,exe文件将使用计算机上的所有内存,计算机将崩溃。所以不能使用任务,我希望当第一个任务完成时,下一个任务将开始。
  • 您可以在进程中使用“Exited”事件。有关示例,请参见 docs.microsoft.com/en-us/dotnet/api/…
  • 没有任何代码,很难评估任何改进或解决特定问题的潜力。
  • `Tasks can't be used`这是错误的。浪费内存的不是任务,而是应用程序的低效代码。 每个人 在 2022 年使用任务。如果您使用 HttpClient 或任何异步调用,您正在使用任务。即使您使用 .Wait().Result 阻止这些任务

标签: c# .net winforms


猜你喜欢
  • 1970-01-01
  • 2023-04-01
  • 2012-11-28
  • 1970-01-01
  • 1970-01-01
  • 2011-07-24
  • 2015-06-16
  • 2019-04-01
  • 1970-01-01
相关资源
最近更新 更多