下面的代码片段在我的JUnit Test Case类中。我使用三个线程来测试一个名为SharedResources的类; getGuy只是其中之一。我的问题是在启动线程之后,只有第一个读取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
}
});
感谢您的帮助。
答案 0 :(得分:0)
这是一个基本的生产者 - 消费者设计。我只是创建sharedResource类,而不是创建生产者和消费者类。然后在JUnit测试用例中,我创建了生产者和消费者线程。 getGuy是一个消费者线程。
由于