checksafe.java

来自「实验操作系统课程设计中有关进程管理、内存管理、资源分配、银行家算法等要求。可视化」· Java 代码 · 共 49 行

JAVA
49
字号
import java.util.Vector;

public class CheckSafe {
	private int work;
	Tu t;
	private Vector<Integer> vtestres, vtesthres;

	public CheckSafe(Tu t) {
		this.t = t;
		work = t.xaRes;
		vtestres = new Vector<Integer>();
		vtesthres = new Vector<Integer>();
		for (int i = 0; i < t.queue.getvReady().size(); i++) {
			vtestres.add(t.queue.getvReady().get(i).getres());
			vtesthres.add(t.queue.getvReady().get(i).gethres());
		}
		for (int i = 0; i < t.queue.getvWait().size(); i++) {
			vtestres.add(t.queue.getvWait().get(i).getres());
			vtesthres.add(t.queue.getvWait().get(i).gethres());
		}
	}


	public boolean test() {
		if (t.cscontrol == true) {
			int count = 0;
			int flag = vtestres.size();
			a: while (vtestres.size() != 0) {
				count++;
				for (int i = 0; i < vtestres.size(); i++) {
					if (vtestres.get(i) <= work) {
						work += vtesthres.get(i);
						vtestres.remove(i);
						vtesthres.remove(i);
						break;
					}
				}
				if (count > flag)
					break a;
			}
			if (vtestres.size() == 0)
				return true;
			else
				return false;
		} else
			return true;
	}
}

⌨️ 快捷键说明

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