gpt4 book ai didi

关于线程使用的 Java RMI 规范 : "..may or may not execute in a separate thread"

转载 作者:行者123 更新时间:2023-11-30 11:52:24 27 4
gpt4 key购买 nike

我的申请可能有问题。有一个运行多个线程的客户端可能会通过 Java RMI 对服务器执行相当耗时的调用。当然,来自一个客户的耗时调用不应该阻止其他人。
我测试了它,它可以在我的机器上运行。所以我在客户端上创建了两个线程,在服务器上创建了一个虚拟调用。在启动时,客户端都调用只执行大量 sysout 的虚拟方法。可以看出这些调用是并行处理的,没有阻塞。
我非常满意,直到一位同事指出 RMI 规范不一定保证该行为。
确实,关于兰开斯特大学惠普的一篇文章指出

“A method dispatched by the RMI runtime to a remote object implementation (a server) may or may not execute in a separate thread. Calls originating from different clients Virtual Machines will execute in different threads. From the same client machine it is not guaranteed that each method will run in a separate thread” [1]

我该怎么办?有没有可能它在实践中行不通?

最佳答案

理论上,是的,您可能需要担心这一点。实际上,所有主流的 rmi 都会对所有传入调用进行多线程处理,因此除非您针对一些晦涩的 jvm 运行,否则您无需担心任何事情。

关于关于线程使用的 Java RMI 规范 : "..may or may not execute in a separate thread",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6858787/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com