0
下面的代码片段位于我的JUnit测试用例类中。我使用三个线程来测试一个名为SharedResources的类; getGuy只是其中之一。我的问题是在启动线程后,只有第一个读取sharedResource,并且只有一次。JUnit测试用例中的线程测试SharedResource类
Thread getGuy = new Thread(new Runnable() {
public void run() {
for(int i=0; i < 5; i++) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("I consume",resource.get());
}//for
}
});
感谢您的任何帮助。
需要更多的上下文,更多的代码。 – Thilo
+1更多的上下文。你期待它做什么?你试图运行的测试场景是什么(即其他两个线程做了什么以及你期望的结果是什么)?其他线程对资源做了什么?你的代码中的任何睡眠都会造成不可预知的测试......至少,不可预测的交错使得测试很难写 – Toby