跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • golang 内存回收
未分類
23 11 月 2020

golang 内存回收

golang 内存回收

資深大佬 : theknotyouknow 2

现在有这样一个场景:
每一个请求会启动一个 goroutine,每一个 goroutine 内会初始化一个大内存的数组来接收大量数据。
当请求完成,这个 goroutine 内的数组会自动被回收吗,有性能瓶颈吗,怎样做是最好的方式呢
大佬有話說 (8)

  • 資深大佬 : wellsc

    你可以手动回收

  • 資深大佬 : janxin

    一般情况下会被回收,但是不是马上被归还给系统。这个需要根据你的开发和具体 runtime 调度决定。

    没有场景谈优化太粗暴了,基础策略是你可以用临时对象池 sync.Pool 减少反复内存分配。

  • 主 資深大佬 : theknotyouknow

    @wellsc 手动回收,是指直接将这个大数组设置成 nil 吗

  • 主 資深大佬 : theknotyouknow

    @janxin 这个数组每次接收的数据都不一样,你是指用 sync.Pool 直接覆盖掉上一次对象的值吗

  • 資深大佬 : lhx2008

    和 java 差不多,没人用会定期自动回收的

  • 資深大佬 : yzbythesea

    goroutinue 跑完了,就会自动回收。手动回收没听说过。

  • 資深大佬 : better0332

    会自动回收,大量分配内存可以用 sync.Pool

  • 資深大佬 : labulaka521

    sync pool

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具