📄 threadcontroller.java
字号:
public class ThreadController implements Runnable {
DataBuffer inputBuffer, displayBuffer;
JuliaCalc j;
static int cn = JuliaFrame.NO_OF_INITIAL_THREADS;
ThreadController(DataBuffer inputBuffer, DataBuffer displayBuffer,
JuliaCalc juliaCalc) {
this.inputBuffer = inputBuffer;
this.displayBuffer = displayBuffer;
this.j = juliaCalc;
}
public void run() {
WorkerThread[] workerThread = new WorkerThread[JuliaFrame.NO_OF_INITIAL_THREADS];
for (int i = 0; i < JuliaFrame.NO_OF_INITIAL_THREADS; i++) {
workerThread[i] = new WorkerThread(inputBuffer, displayBuffer, j);
workerThread[i].start();
} //start all workerthread..
while (true) {
if (inputBuffer.size() > cn
&& cn < JuliaFrame.NO_OF_INITIAL_THREADS) {
workerThread[cn] = new WorkerThread(inputBuffer, displayBuffer, j);
workerThread[cn].start();
//to restart the thread
cn++;
} else if (inputBuffer.size() < cn && cn > 1) {
workerThread[cn - 1].quit(); //to stop the thread
cn--;
}
JuliaFrame.draw(cn, JuliaFrame.NO_OF_INITIAL_THREADS);
try {
Thread.sleep(JuliaFrame.THREAD_MONITOR_DELAY);
} catch (InterruptedException e) {
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -