簡體   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