轮询调度算法,也就是设置一个桶的大小,规定每次的执行时间任务,然后执行下一个任务,若是任务小于桶的容量就可以将此任务执行完成,若是任务大小大于桶容量,则最多执行大小为桶容量的任务的一部分,剩下的部分下一次轮到自己再继续执行,以此类推,直到执行完所有任务。
代码如下:
package org.cloudbus.cloudsim.examples;
import java.util.*;
public class RoundRobin
{
static void findWaitingTime(int processes[], int n,
int bt[], float wt[], int quantum)
{
float rem_bt[] = new float[n];
for (int i = 0 ; i < n ; i++)
rem_bt[i] = bt[i];
float t = 0;
while(true)
{
boolean done = true;
for (int i = 0 ; i < n; i++)
{
if (rem_bt[i] > 0)
{
done = false;
if (rem_bt[i] > quantum)
{
t += quantum;