【发布时间】:2013-05-18 19:40:27
【问题描述】:
我有一个 Windows 服务应用程序和一个使用 RMI 与服务通信的客户端。 我需要对多个客户端进行一些并发测试,但我需要每个客户端运行到不同的 jvm 实例,因为它的代码中有一些静态变量。 我可以这样做吗?有任何想法吗?
【问题讨论】:
-
您确定需要每个客户端在自己的 JVM 上运行吗?也就是说,你不能让并发 RMI 客户端在单个 JVM 的线程池中运行吗?
-
客户端代码中有一些静态变量,所以当我在同一个 jvm 实例中运行多个客户端时会出现一些冲突。
-
我敢打赌你知道 ThreadLocal,但和我一样懒惰。只需复制 JRE 目录 N 次即可。
-
OP:那么修复它们对吗?即确保所有共享可变状态的线程安全。
-
有几十个带有静态变量的java文件,把这些文件都改掉不太现实。谢谢! – user1540341
标签: java testing concurrency jvm