📄 testthread.java
字号:
package com.ora.rmibook.chapter13.bank.applications;
import com.ora.rmibook.chapter13.bank.applications.tests.*;
public class TestThread extends Thread {
// private static final int MILLISECONDS_TO_PAUSE = 240000;
private static final int MILLISECONDS_TO_PAUSE = 2000;
private static int _idNumberCounter;
private NameRepository _nameRepository;
private TestResultHolder _testResultHolder;
private int _numberOfOperationsLeft;
private TestAppFrame _owner;
private String _idNumber;
public TestThread(NameRepository nameRepository, int numberOfOperations,
TestResultHolder testResultHolder, TestAppFrame owner) {
_testResultHolder = testResultHolder;
_nameRepository = nameRepository;
_numberOfOperationsLeft = numberOfOperations;
_owner = owner;
_idNumber = String.valueOf(_idNumberCounter++);
}
public void run() {
while (_numberOfOperationsLeft > 0) {
Test testToPerform = getRandomTest();
testToPerform.performTest(_idNumber);
_testResultHolder.addResult(testToPerform);
try {
Thread.sleep(MILLISECONDS_TO_PAUSE);
} catch (Exception ignored) {
}
_numberOfOperationsLeft--;
}
_owner.testThreadFinished(this);
}
private Test getRandomTest() {
double choice = Math.random();
if (choice < .1) {
return new GetBalance(_nameRepository);
}
if (choice < .6) {
return new MakeDeposit(_nameRepository);
}
return new MakeWithdrawal(_nameRepository);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -