小编Flo*_*Flo的帖子

为什么使用RMI时JVM不会终止

我刚刚在http://java.sun.com/docs/books/tutorial/rmi/implementing.html上阅读了来自sun的RMI上的Trail

当我运行该示例时,尽管main已完成,但JVM不会终止.RMI是否在内部产生线程?

主要退出后,main中生成的多个Thread的行为是什么?它是一种干净的方式让线程随时退出,或者你应该在你生成的每个线程上进行连接?我没有找到关于这个问题的任何文件.

非常感谢您的帮助!!

public class ComputeEngine implements Compute {

    public ComputeEngine() {
        super();
    }

    public <T> T executeTask(Task<T> t) {
        return t.execute();
    }


    public static void main(String[] args) {
        if (System.getSecurityManager() == null) {
            System.setSecurityManager(new SecurityManager());
        }
        try {
            String name = "Compute";
            Compute engine = new ComputeEngine();
            Compute stub = (Compute) UnicastRemoteObject.exportObject(engine, 0);
            Registry registry = LocateRegistry.getRegistry();
            registry.rebind(name, stub);
            System.out.println("ComputeEngine bound");
        } catch (Exception e) {
            System.err.println("ComputeEngine exception:");
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading rmi

2
推荐指数
1
解决办法
1776
查看次数

标签 统计

java ×1

multithreading ×1

rmi ×1