【问题标题】:Does hibernate locks main thread?休眠会锁定主线程吗?
【发布时间】:2016-02-16 19:05:04
【问题描述】:

我正在使用 hibernate 和 apache mina 来构建多人游戏服务器。我为每个(apache mina)客户端、单独的事务和会话都有单独的客户端类。
所以,问题是:

当我将实体保存到数据库或执行大量选择查询时,休眠会阻塞我的主线程吗?

【问题讨论】:

  • “块”和“锁”是两个非常不同的东西。你问的是哪个?
  • 我的意思是锁。我不想在同步玩家动作方面有任何延迟

标签: java multithreading hibernate apache-mina


【解决方案1】:

是的,您的 JDBC 调用是同步的,因此它们会阻塞,直到从数据库返回某些内容,这不是 Hibernate 特有的。

您可以创建一个单独的线程并使用它来处理您的数据库操作。请注意,尽管您会遇到跨线程共享实体的问题,例如获取惰性关系。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-29
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 2013-12-07
  • 1970-01-01
  • 2014-07-15
相关资源
最近更新 更多