taskbean.java

来自「这是一个很好用的软件」· Java 代码 · 共 73 行

JAVA
73
字号
package oa.bean;

import java.io.Serializable;

public class TaskBean implements Runnable, Serializable {
	private int counter;

	private int sum;

	private boolean started;

	private boolean running;

	private int sleep;

	public TaskBean() {
		counter = 0;
		sum = 0;
		started = false;
		running = false;
		sleep = 100;
	}

	protected void work() {
		try {
			Thread.sleep(sleep);
			counter++;
			sum += counter;
		} catch (InterruptedException e) {
			setRunning(false);
		}
	}

	public synchronized int getPercent() {
		return counter;
	}

	public synchronized boolean isStarted() {
		return started;
	}

	public synchronized boolean isCompleted() {
		return counter == 10;
	}

	public synchronized boolean isRunning() {
		return running;
	}

	public synchronized void setRunning(boolean running) {
		this.running = running;
		if (running)
			started = true;
	}

	public synchronized Object getResult() {
		if (isCompleted())
			return new Integer(sum);
		else
			return null;
	}

	public void run() {
		try {
			setRunning(true);
			while (isRunning() && !isCompleted())
				work();
		} finally {
			setRunning(false);
		}
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?