RMI 自己处理多个客户端吗?IE
- 是否可以同时由多个客户端使用服务器功能?
- 如果没有,我该怎么做?
- 如果是,它是如何工作的?它会为每个调用创建一个新线程吗?如果一个客户端阻止该功能,下一个客户端会发生什么?等等
是的
这个怎么运作?它会为每个调用创建一个新线程吗?如果一个客户端阻止该功能,下一个客户端会发生什么?等等
它为每个客户端连接创建一个线程。
如果一个客户端调用同步方法或阻塞其他调用的方法,则其他线程进行的调用将阻塞,直到该调用释放资源。
听起来您已经得出了答案,您还有更具体的疑问吗?
是的,RMI 确实可以处理多个客户端,但是您必须使您的服务器线程安全,如果多个客户端同时对其进行方法调用,RMI 会将多个线程分派到单个服务器对象中,因此如果您的服务器不是线程安全的,您的应用程序将会失败。