池(sync.Pool
)是一组可单独保存(Set
)和检索(Get
)的临时对象集合。
存储在池中的任何项都可能在任何时候自动移除而无需通知。如果池在移除项时持有该对象的唯一引用,那么这个对象可能会被释放掉。
池能够确保在多个goroutine同时访问时的安全性。
池的目的在于缓存已分配但未使用的对象以便后续复用,减轻垃圾收集器的压力。
我翻译了Goroutine Scheduler Revealed: Never See Goroutines the Same Way Again, 这篇文章发表于1月2号,作者在文章最后说:
在接下来的部分,我们将更深入地探讨抢占式调度,并分析调度程序在运行期间所采取的每一步骤。
你以前可能听说过 Goroutine 调度器,但你对它的工作原理了解多少?它如何将 goroutine 与线程配对?
原文:Goroutine Scheduler Revealed: Never See Goroutines the Same Way Again
Go官方博客:More powerful Go execution traces by Michael Knyszek.
原文: Logging in Go with Slog: The Ultimate Guide by Ayooluwa Isaiah.
最近在招一个Go开发工程师,面试中时候我会问一个Top K的问题,这个问题是一个经典的面试题。
有时候我不会要求面试者写出答案,首先我听一下他的思想,如果写代码困难的话我都允许可以上网查标准库的文档,看看heap的用法。
相对来说比Redis的作者antirez的面试要轻松些了,他的面试题是要求面试者写出一个二叉搜索树。
祝大家龙年大吉!