⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadcontroller.java

📁 通过线程控制来打印出julia集
💻 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 + -