我有一个应用程序应该(在某些情况下)防止多线程。为了对此进行测试,我需要同时从多个线程调用一个方法。
class MyObject {
val myMethodCalled = new AtomicBoolean()
def myMethod() = {
if (myMethodCalled.getAndSet(true))
throw new IllegalStateException("Do not call myMethod twice")
}
}
我想从测试用例触发上述方法中的异常。
这可能JVM
吗?如果是这样,该怎么做?
编辑
我想知道是否有任何方法(使用一些技巧或我不知道的类)在虚拟机中同时调用一个方法。我想这是不可能的。