线程和RMI对象

时间:2015-05-07 17:50:24

标签: java networking methods rmi

在Java RMI中,是为每个创建的新远程对象启动的新线程吗?

如果是这样,这个线程是一种监听器线程,它通过为每个方法调用创建一个新线程来服务传入的调用吗?

我刚刚想出了这个心理模型,我正在寻找验证。

1 个答案:

答案 0 :(得分:0)

RMI规范既没有规定也没有拒绝任何线程模型。编程程序的远程部分(在服务器中运行)时,您应该假设同一个对象可以同时被两个或多个线程访问,因此您需要同步访问可变字段(即使我认为大多数实现序列化调用)

来自the spec

  

由RMI运行时调度到远程对象的方法   实现可能会也可能不会在单独的线程中执行。 RMI   运行时不保证映射远程对象   对线程的调用。由于远程方法调用相同   远程对象可以并发执行,远程对象实现   需要确保其实现是线程安全的。