代码之家  ›  专栏  ›  技术社区  ›  Thomas Ahle

如何使用线程获得稳定、快速的ui?

  •  3
  • Thomas Ahle  · 技术社区  · 16 年前

    我最近在看 this video on Google Chrome 带着极大的兴趣。它解释了google chrome使用一个线程进行io,一个用于打开文件,一个用于模块间通信。

    我想我可以用一些类似的东西来处理我自己的——目前相当混乱的——应用程序。

    我想知道是否有关于这种线程化任务划分的最佳实践或模式的好文章?

    2 回复  |  直到 16 年前
        1
  •  4
  •   SqlRyan    16 年前

    任何时候,当应用程序的任务可以划分为不同的组时,它都是多线程的候选者。请注意,这是一个危险的游戏,尽管-对于每一篇关于优势的文章,有两篇关于被多线程实现咬的文章-它可能会产生错误,这些错误只出现在某些配置(在用户计算机上)中,或者更糟的是,在数据消除中无法复制Bugger,因为减慢执行速度的行为足以导致错误无法出现(竞争条件因此行为而臭名昭著)。

    撇开这个警告不谈,多线程可以极大地提高应用程序的实际性能和感知性能。这些是特定于.NET的,但请给出一个一般的入门知识,解释后台线程的优点并保持用户界面的响应:

        2
  •  0
  •   Andréas Saudemont    16 年前

    如果您使用.net,则 ThreadPool 类是一个很好的起点,它为您管理多线程的一些(但不是全部)微妙之处。

    另请参见 Threads and Threading 关于msdn的正反两方面的讨论。