我正在使用red5 for mmo,我遇到了同步方法的问题,我在MultiThreadedApplicationAdapter中使用的方法总是阻止下一个请求。这是正常的吗?因为我在这些方法中做了一些数据库操作,这个同步块使我的性能非常差。我决定使用石英工作来克服这种情况,这次集群拓扑如何让我感到困惑。能帮助我吗,这是一个使用石英解决这个问题的常见解决方案,有没有什么机构可以给我一个更聪明的建议 谢谢
我想补充一下以澄清我的问题
在扩展MultiThreadedApplicationAdapter并创建我的覆盖类之后,我实现了
public boolean connect(IConnection conn, IScope scope, Object[] params) {
函数,在这个函数中,我想在线设置用户状态(正如你所看到的,在这个函数中没有任何同步文字,但它的作用就像它一样。) 我想从数据库中获取用户实体,然后设置在线状态,然后将其保存 在这部分即使我不使用同步文字,下一个即将到来的客户端正在等待之前完成。我觉得我必须用Quartz创建另一个工作并在该线程中进行数据库操作但是我不确定这会降低我的性能。有没有其他方法来阻止这个块,这似乎是一个Red5限制? 博客http://ria101.wordpress.com/2010/03/09/red5-cabin-fever-advanced-scope-and-room-management/
中也提到了这一点答案 0 :(得分:0)
只有一个线程可以调用对象的同步方法,石英不会改变它。而你的帖子似乎并不是你想要达到的目标。