繁体   English   中英

Ebean是否支持多线程?

[英]Does Ebean support multithreading?

Ebean ORM是Play的必备ORM! Java框架。 当我在构建自己的对象关系映射器和其他对象关系行为模式之间进行选择,以及使用ORM时,让我印象深刻的一个标准是Ebeans是否支持并发访问映射器。 确实可以玩! 使用异步线程,由于使用相同对象的并发请求仍然会出现读取器/写入器问题。

因此,问题是,Ebean ORM是否支持多线程(读取器/写入器问题)?

Ebeans支持并发访问映射器

EbeanServer对于多个并发使用是安全的。 EbeanServer实例已构建,并且包含有关bean属性等的所有元数据(因此包含映射信息)。

EbeanServer在内部保存一些变异数据,例如L2缓存,查询执行的性能指标,查询执行计划等,但是这些都是为了线程安全而编写的。

通常,查询对象和查询结果(对象图)不是线程安全的,只能用于单线程。 您可以通过query.setReadOnly(true)创建不能变异的只读对象图,因此可以安全地用于多线程。

EbeanServer还通过findFutureRowCount(),findFutureList()等支持后台获取,这些后台在内部创建查询的副本并处理细节。 findFutureRowCount()在内部用作PagedList的一部分,以获取总行数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM