javarmi线程系统
假设一个简单的JavaRMI系统(HelloWorld),我的问题是,如果我在客户端运行10个线程来调用远程(服务器)对象,目标服务器是否也会创建10个线程?或者他们将通过队列或其他方式继续进行?javarmi线程系统,java,multithreading,rmi,Java,Multithreading,Rmi,假设一个简单的JavaRMI系统(HelloWorld),我的问题是,如果我在客户端运行10个线程来调用远程(服务器)对象,目标服务器是否也会创建10个线程?或者他们将通过队列或其他方式继续进行? 问题:可能有一些对远程对象的并发调用,其中一个可能需要很长的处理时间,所以现在我应该注意服务器端的线程,或者可能有一些可用于这种情况的实现。 提前感谢。未指定。RMI规范所说的只是客户机线程和服务器线程之间没有保证的关联 它的神秘含义是,你不能假设它是单线程的 具体实现的行为如何取决于他们。例如,Or
问题:可能有一些对远程对象的并发调用,其中一个可能需要很长的处理时间,所以现在我应该注意服务器端的线程,或者可能有一些可用于这种情况的实现。
提前感谢。未指定。RMI规范所说的只是客户机线程和服务器线程之间没有保证的关联 它的神秘含义是,你不能假设它是单线程的 具体实现的行为如何取决于他们。例如,Oracle的RMI/JRMP在每个接受的连接上使用一个新线程,不需要排队,但这通过客户端的连接池得到了缓解。上次我查看时,IBM使用了一个线程池,这意味着一个队列。还有其他实现 一般来说,最后一个问题的答案是,除了确保最小但足够的同步之外,您不必做任何事情 编辑对@CyberneticWerkGuruorc删除答案中链接的一些评论,其中提到了2002年在RMI基础上构建的一个模糊且过时的框架:
Object.wait()
和通知线程来实现超时是非常粗糙的shutdown()
方法显然是安全漏洞可激活的
它很可能同时使用队列和线程进行异步调用。