几年前,我读了一篇有关在多线程环境中测试JVM应用程序的文章。本文介绍了一个用于运行应用程序的库,以实现所有可能的情况,例如数据争用的不同结果等。
It was neither JUnit with extensions, nor Thread Weaver.
例如,给出以下代码:
public class Foo {
boolean exit;
void start() {
while (!exit) {}
System.out.println("Exited!");
}
}
class Test {
void test() {
Foo foo = new Foo();
new Thread(() -> foo.start()).start();
new Thread(() -> { foo.exit = true; }).start();
}
}
图书馆将运行它,并且将实现两个结果。
我的问题是:那是什么图书馆?