代码之家  ›  专栏  ›  技术社区  ›  Rajeev

GC暂停整个应用程序活动

  •  1
  • Rajeev  · 技术社区  · 15 年前

    我正在.Net中构建一个网络爬虫,它一次执行大约500个httpwebrequests。 一切运行正常,但问题出现在某些地方;垃圾收集线程似乎接管了整个应用程序的暂停几秒钟。有没有减少GC产生的延迟。

    1 回复  |  直到 15 年前
        1
  •  1
  •   The Archetypal Paul    15 年前

    Guidance on how to avoid GC problems in .Net

    从分配程序中获得最佳结果 你应该考虑以下做法 以下内容:

    • 分配要与 同时给出数据结构。
    • 删除可以用很少的时间避免的临时分配 惩罚的复杂性。
    • 最小化对象指针的写入次数, 尤其是那些写给老年人的 物体。
    • 减少数据结构中指针的密度。
    • 限制使用终结器,然后仅在“叶”对象上使用,如 尽可能多。打断对象,如果 有必要帮忙。

    定期复习 关键数据结构和执行 使用诸如 分配探查器将有很长的路要走 保持有效的内存使用 还有垃圾收集器 为你尽最大努力。

    你可以 request a GC 在更方便的时间,这样可以减少以后的停顿

    另外,请看右边的StackOverflow相关问题-这里有一些相关的问题-->