CloudSim源代码之FutureQueue

package org.cloudbus.cloudsim.core;

import java.util.Collection;
import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;

/**执行未来事件队列
 * This class implements the future event queue.
 * The event queue uses a TreeSet in order to store the events.
 */

public class FutureQueue {

    /** The sorted set.分类集合 */
    private final SortedSet<SimEvent> sortedSet = new TreeSet<SimEvent>();

    private long serial = 0;

    /**队列增加新的事件
     * Add a new event to the queue. Adding a new event to the queue
     * preserves the temporal order of the events in the queue.
     *
     * @param newEvent The event to be put in the queue.
     */
    public void addEvent(SimEvent newEvent) {
        newEvent.setSerial(serial++);
        sortedSet.add(newEvent);
    }

    /**队列返回一迭代程序
     * Returns an iterator to the queue.
     *
     * @return the iterator
     */
    public Iterator<SimEvent> iterator() {
        return sortedSet.iterator();
    }

    /**返回事件队列大小
     * Returns the size of this event queue.
     *
     * @return the size
     */
    public int size() {
        return sortedSet.size();
    }

    /**从队列中移除事件
     * Removes the event from the queue.
     *
     * @param event the event
     *
     * @return true, if successful
     */
    public boolean remove(SimEvent event) {
        return sortedSet.remove(event);
    }

    /**从队列中移除所有事件
     * Removes all the events from the queue.
     *
     * @param events the events
     *
     * @return true, if successful
     */
    public boolean removeAll(Collection<SimEvent> events) {
        return sortedSet.removeAll(events);
    }

    /**清除队列
     * Clears the queue.
     */
    public void clear(){
        sortedSet.clear();
    }
}

时间: 2024-10-17 16:27:00

CloudSim源代码之FutureQueue的相关文章

CloudSim源代码之SimEntity

package org.cloudbus.cloudsim.core; import org.cloudbus.cloudsim.Log; import org.cloudbus.cloudsim.NetworkTopology; import org.cloudbus.cloudsim.core.predicates.Predicate; /* 仿真实体 */ /* This class represents a simulation entity. An entity handles eve

CloudSim源代码学习——任务单元(Cloudlet)

1 /* 2 * Title: CloudSim Toolkit 3 * Description: CloudSim (Cloud Simulation) Toolkit for Modeling and Simulation of Clouds 4 * Licence: GPL - http://www.gnu.org/copyleft/gpl.html 5 * 6 * Copyright (c) 2009-2010, The University of Melbourne, Australi

CloudSim源代码之DeferredQueue

package org.cloudbus.cloudsim.core; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; /**[此类执行延期的事件队列] * This class implements the deferred event queue used by Simulation. * The event queue

CloudSim介绍和使用

本文主要介绍一下我在使用CloudSim时翻译.整理和理解的一些信息,以及我的使用经验,希望能对有需要的朋友们有所帮助~1.我翻译和理解的一些信息:    2009年4月8日,澳大利亚墨尔本大学的网格实验室和Gridbus项目宣布推出云计算仿真软件,称为CloudSim.它是在离散事件模拟包SimJava上开发的函数库,可在Windows和Linux系统上跨平台运行,CloudSim继承了GridSim的编程模型,支持云计算的研究和开发,并提供了以下新的特点: (1)支持大型云计算的基础设施的建

使用Cloudsim实现基于多维QoS的资源调度算法之中的一个:配置Cloudsim环境

Cloudsim是一款开源的云计算仿真软件,它继承了网格计算仿真软件Gridsim的编程模型,支持云计算的研究和开发.它是一个自足的支持数据中心.服务代理人.调度和分配策略的平台,支持大型云计算的基础设施的建模与仿真,而且能够在Windows和Linux上跨平台执行. 本文介绍的是利用Cloudsim云仿真平台对资源调度算法进行仿真.当中包含Cloudsim环境的配置,资源调度算法的嵌入和仿真结果的分析. 1.首先介绍Cloudsim环境的配置 1.1.Cloudsim的执行须要Java环境,所

如何阅读源代码(7)

第七章: 编码规范和约定 +++++++++++++++++++ 137.了解了给定代码库所遵循的文件组织方式后, 就能更有效率地浏览它的源代码. 138.阅读代码时, 首先要确保您的编辑器或优美打印程序的tab设置, 与代码遵循的风格规范一致. 139.可以使用代码块的缩进, 快速地掌握代码的总体结构. 140.对编排不一致的代码, 应该立即给予足够的警惕. 141.分析代码时, 对标记为XXX, FIXME和TODO的代码序列要格外注意: 错误可能就潜伏在其中. 142.常量使用大写字母命名

jQuery源代码学习之六——jQuery数据缓存Data

一.jQuery数据缓存基本原理 jQuery数据缓存就两个全局Data对象,data_user以及data_priv; 这两个对象分别用于缓存用户自定义数据和内部数据: 以data_user为例,所有用户自定义数据都被保存在这个对象的cache属性下,cache在此姑且称之为自定义数据缓存: 自定义数据缓存和DOM元素/javascript对象通过id建立关联,id的查找通过DOM元素/javascript元素下挂载的expando属性获得 话不多说,直接上代码.相关思路在代码注释中都有讲解

Java源代码学习 -- java.lang.String

java.lang.String是使用频率非常高的类.要想更好的使用java.lang.String类,了解其源代码实现是非常有必要的.由java.lang.String,自然联想到java.lang.StringBuffer和java.lang.StringBuilder,下篇文章再来研究java.lang.StringBuffer和java.lang.StringBuilder. 重要属性 java.lang.String对象中字符串主要是以字符数组的形式存储.当调用对象方法获取字符串长度时

修改源代码时不需要重启tomcat服务器

我们在写JSP + Servlet 的时修改了Java代码就要重新启动服务器.十分麻烦. 为了解决这个问题我们可以将服务器改成debug 模式.就是按调试状态这样修改Java代码就不用再重新启动服务器了.只需刷新浏览器即可.可以看下面的图 当然也可以将Tomcat设置为 热启动,修改源代码时也不需要重启tomcat服务器.具体的执行方法我就不写了.大家可以去搜索下热启动的方法. 我用的是Tomcat服务器我就写了Tomcate 的解决方法.以上不足请多指教.