0
以下のコードスニペットはJUnitテストケースクラスにあります。 SharedResourcesというクラスをテストするために3つのスレッドを使用しています。 getGuyはその1つです。私の問題は、スレッドを開始した後、最初のものだけがsharedResourceを読み込み、それは一度だけです。SharedResourceクラスをテストするJUnitテストケース内のスレッド
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つの文脈。それは何を期待していますか?実行しようとしているテストシナリオは何ですか?(つまり、他の2つのスレッドは何を行いますか、結果は何になると思いますか?)他のスレッドはリソースで何をしますか?あなたのコードの中のどんな睡眠も予測不能なテストになるでしょう...少なくとも、予測できないインターリーブはテストを書くのを難しくします – Toby