Java RMI方法同步

标签 java synchronization rmi

我有一个存储在“服务器”上的类,多个客户端可以调用此方法。该方法返回一个类。现在,当客户端调用此类中的访问器方法时,例如设置访问器方法。我希望服务器上的对象能够在所有其他客户端之间更新和同步。

如何使用:

public synchronized setStatus(String s) { this.status = s; }

在java中实现这一点。

谢谢

最佳答案

synchronized 关键字不执行此功能,而是 synchronized 关键字尝试获取当前对象的内在锁。

让所有客户端将自身导出为 Remote 对象,并向服务器注册更新。当您的某个客户端更新服务器时,服务器将调用所有已注册的远程客户端,要求它们刷新。

这可以通过观察者模式来实现。如果您的所有客户端都实现了 java.util.Observer 接口(interface),并且服务器或(如果您的类是 Remote)您关心更新的类可以扩展java.util.Observable。当类/服务器更新时,可以通知观察者新值,这将节省客户端向服务器请求新值的一些网络延迟。

关于Java RMI方法同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2611754/

相关文章:

ssl - 如何使用 JBoss 6 在 RMIIO 流上启用加密

java - 如何为 Android 游戏加载位图?

iphone - 如何识别核心数据管理对象模型——哈希?

iphone - 在 iOS 上创建在线数据库的本地缓存

java - 一旦变量设置为 false,如何停止线程?

c# - .NET Remoting - 在客户端上注册多 channel

java - 当超出 "short"范围时会发生什么?

Java:比 String(byte[]) 更快的替代品

java - exec-maven-plugin arguments 和 commandlineArgs 之间的区别

java - 持续轮询,还是 Java RMI?