java – 多个JVM与并发任务
我正在将胖客户端代码移植到具有瘦客户端的服务器架构中. 服务器需要为每个客户端运行一个代码实例.代码是多线程的,可以运行很长时间(数周),但只是偶尔与客户端进行交互.客户数量将达到数千.每个客户端需要大约20MB的堆. 我现在有两种选择, >在服务器上为每个客户端启动一个单独的JVM 我可以看到每个人的利弊.对于多个JVM: 优点: >进程是分开的,如果一个挂起只是杀死它并重新启动.所有其他人都不在乎. 缺点: >多次加载完整的JRE类库 您有推荐的最佳做法吗? 你知道有关这个问题的任何好的参考书/文章吗? 是否存在仅使用一个JVM但运行多个代码副本的框架,就好像它是单独的进程空间(资源有限等)? 最佳答案
遗憾的是,在单个JVM中以线程为基础限制资源是不可能的.但是,我仍然会尝试将您的应用程序移植到单个JVM中,原因如下:
>如果一个线程使用了很多CPU,你仍然可以将它杀死(interrupt()是你的朋友),如果你正确地编写了任务. 使用单一应用程序方法,除非您真的无法控制用户可以启动哪些任务. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Java中守护线程的总结 thread.setDaemon(true)
- Java concurrency集合之 CopyOnWriteArrayList_动力节点Jav
- java – 动态地创建不同亮度的颜色
- java – 这两组语句之间的确切区别是什么?
- Java-LockSupport
- shiro实战系列(三)之架构
- .net – 为什么我们需要IEqualityComparer,IEqualityCompar
- java – VFS上的Hello world示例:从头开始创建一个zip文
- Improving Lock Performance in Java--reference
- java – 掌握Google Guice