java实现轮询算法的一种简单实现

时间:2024-02-21 22:35:00

要求做一个任务分配的处理。

采用轮询算法,保存当前处理后的索引,方便下次处理时可以拿到开始位置。

/**
 * @describe: 简单轮询处理
 * @author: rohin
 * @since: 2019/01/16
 */
public class RoundRobinPattern {

	/**
	 * @Date: 2019/01/16
	 * @describe: 简单的轮训算法... 
	 * 				简介: 1. 将目标放置一容器内. 
	 * 					2. 定义一标识, 记录上次访问的该目标对象(标识应该是索引等,需要有规律性) 
	 * 					3. (该标识 + 1) 取模, 然后获取到该目标对象. 同时更新该目标标识
	 * @return : null
	 * @throws:
	 */
	public static void main(String[] args) {
		int[] arr = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
		int index = 4; // 索引:指定起始位置
		for (int i = 0; i < 17; i++) {
			int nextIndex = (index + 1) % arr.length;
			index = nextIndex;
			System.out.println(arr[index] + " ,index=" + index);
		}
	}

}

执行结果如下: