首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

PostgreSQL 哪些版本尽量避免使用,版本更新重点明晰(PG12)

最近整理了 MySQL 的 8.0.0 到 8.0.37 的版本中主要的更新内容要点和官方的链接的位置,PG 在版本上功能上,更新的速度相对 MySQL 有过之而无不及,本期我们也过一过 PG 从 PG 12 到 PG 16 中小版本的更新的功能和 Bug Fixed。这里我们从 PG12 开始的每个小版本一直到 PG16 的每个小版本中的更新的 release note 的记录中挑拣重要的进行列表。PG12中各个小版本的内容更新较多,可能由于时间的原因和个人的能力原因,忽略掉您认为重要的更新,您可以告诉我将其进行完善,通过梳理这里发现 PG12中的PG12.13版本有一些与系统崩溃相关的内容,根据这个信息,建议如果使用PG12的同志可以选择PG12.13后的版本。

01

线程池的作用和CLR线程池

在程序的世界里,如果创建某种对象所需要的代价太高,同时这个对象又可以反复使用,那么我们往往就会准备一个容器,用来保存一批这样的对象。当我们要用这种对象时,就不需要每次去创建一个,而是直接从容器中取出一个现成的对象。由于节省了创建对象的开销,程序性能自然就上升了。这个容器就是“池”。很容易理解的是,因为有了对象池,在用完对象之后应该有一个“归还”的动作,这样便可以把对象放回池中,下次需要的时候就可以再次拿出来使用。既然我们每次都是从池中获取对象,那么这些对象是由谁来创建,又是什么时候创建的呢?这个就要根据不同情况由各对象池来自行实现了。例如,可以在创建对象池的时候指定池内对象数量,并且一下子全部创建好,当然您也可以在得到请求时,如果发现池中已经没有剩余对象时创建。您也可以“事前”先准备一部分,“事中”根据需要再继续补充。还可以做得“智能”一些,例如,根据实际情况添加或删除一些对象,甚至对需求“走势”进行“预测”,在空闲时便创建更多的对象以备“不时之需”。各中变化难以言尽。当然,它们的原理和目的是类似的。相信上面这段文字也已经讲清了“线程池”的作用:因为创建一个线程的代价较高,因此我们使用线程池设法复用线程。就是这么简单。

02
领券