【问题标题】:When is a valid opportunity to thread? vb.net什么时候是有效的线程机会? VB.net
【发布时间】:2013-05-20 17:59:01
【问题描述】:

我一直在研究线程以及它可能给您的应用程序带来的复杂性。在我的应用程序中有很多实例,其中函数是大量代码行(500-1k+ 行),并且在适用时希望加快这些函数调用。

线程主要是为运行 UI 代码时的数据库查询等设计的,还是在我的情况下可以工作并将我的方法分割成一些线程,以便我们可以同时运行该函数,理论上可以缩短处理时间?

只是想看看这种情况是否值得调查并花时间研究

【问题讨论】:

  • 您无法修复具有 1000 行代码的函数的程序。这方式太晚了。
  • 完全同意@HansPassant。大于 20/30 行代码的单一方法表明设计非常糟糕。
  • 好的,谢谢!想知道我们是否可以做任何事情来修复遗留代码,但这似乎更像是一个创可贴而不是实际修复。
  • @Criel 解决方案是重构代码,以便将其分解为适当的独立部分。糟糕的应用程序性能是糟糕的代码设计的直接结果
  • 由于它是遗留代码,它有可能是在 Option Strict Off 的情况下编写的。使用 Option Strict On 并纠正使 VS 指出的所有内容可以显着提高性能。您可以将其与重构代码结合使用。

标签: vb.net multithreading winforms


【解决方案1】:

当您不想占用主(应用程序)线程时,您会生成一个新线程。例如,如果您正在加载一些需要一段时间才能加载的图像,您可以在单独的线程中执行此操作,以便 UI 仍然具有响应性。

这可能是您应该重构现有代码的情况。线程化你现有的代码可能有助于加快速度,或者它可能会导致比它解决的问题更多的问题。无论哪种方式,它都不会使您现有的代码(听起来需要清理)变得更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多