![]() |
1
1
如果“Java主包装器”和“我的应用程序”在同一个JVM中,则可以让Java主包装器将定价结果存储在我的应用程序线程消耗的共享数据结构中。如果我的应用程序是不同的进程/JVM,那么可以使用JMS来分发结果。ActiveMQ是一个JMS提供程序。 |
![]() |
2
1
C++应用程序被称为JNI库函数集,还是一个进程?您可以简单地考虑C++的产卵子过程(给它一个
|
![]() |
3
0
看起来您不是在寻找集群,而是在寻找一个池。 如果包装器在具有主线程的同一个JVM中是可执行的,那么任务就是简单地重用任何可用的 thread pool /Worker实现。甚至可以反编译包装器以查看它的main()方法实际调用的类,并尝试在应用程序中复制它。做了一个CORBA应用程序,工作正常。 如果每个包装器都必须在不同的JVM中,最简单的方法就是(再次)分配线程池,其中每个线程监视自己的进程对象实例,将请求写入stdin,从stdout读取响应。 当然,每个连接的线程不是最有效的设计,因此当您使其工作时,当一个小的线程池(甚至一个线程)使用选择器监视一个更大的包装进程实例池时,您实际上可以移动到一个模型。 |