我有一个Java对象,它是RMI模型中的客户端,RMI服务器实现了一个只允许一次从一个客户端访问的锁定机制。为了使服务器可用于新客户端,现有客户端必须在其线程死亡之前调用disconnect()
方法来删除其锁定。
我遇到的问题是,如果客户端没有拨打disconnect()
,服务器将永远不会释放。
是否可以强制执行,无论何时主要使用客户端已经完成运行,它都会调用disconnect()
而不在主要内容中指定?
我读到了垃圾收集过程中调用的finalize()
方法,但根据我的理解,它非常不可靠。