cloudsim-plus-master/cloudsim-plus-master/cloudsim-plus/src/main/java/org/cloudbus/cloudsim/schedulers/cloudlet/CloudletSchedulerAbstract.java
protected void moveNextCloudletsFromWaitingToExecList() {
        Optional<CloudletExecutionInfo> optional = Optional.of(CloudletExecutionInfo.NULL);
        while (!cloudletWaitingList.isEmpty() && optional.isPresent() && getFreePes() > 0) {
            optional = findSuitableWaitingCloudlet();
            optional.ifPresent(this::addWaitingCloudletToExecList);
        }
    }
/**
     * Selects the next Cloudlets in the waiting list to move to the execution
     * list in order to start executing them. While there is enough free PEs,
     * the method try to find a suitable Cloudlet in the list, until it reaches
     * the end of such a list.
     *
     * <p>
     * The method might also exchange some cloudlets in the execution list with
     * some in the waiting list. Thus, some running cloudlets may be preempted
     * to give opportunity to previously waiting cloudlets to run. This is a
     * process called
     * <a href="https://en.wikipedia.org/wiki/Context_switch">context switch</a>.
     * However, each CloudletScheduler implementation decides how
     * such a process is implemented. For instance, Space-Shared schedulers may
     * just perform context switch just after currently running Cloudlets
     * completely finish executing.
     * <p>
     * <p>
     * This method is called internally by the
     * {@link CloudletScheduler#updateProcessing(double, List)} one.</p>
     *
     * @pre currentTime >= 0
     * @post $none
     */
Selects the next Cloudlets in the waiting list to move to the execution
list in order to start executing them. While there is enough free PEs,
the method try to find a suitable Cloudlet in the list, until it reaches
the end of such a list.


The method might also exchange some cloudlets in the execution list with
some in the waiting list. Thus, some running cloudlets may be preempted
to give opportunity to previously waiting cloudlets to run. This is a
process called
context switch.
However, each CloudletScheduler implementation decides how
such a process is implemented. For instance, Space-Shared schedulers may
just perform context switch just after currently running Cloudlets
completely finish executing.


This method is called internally by the
CloudletScheduler#updateProcessing(double, List) one.

@pre currentTime >= 0
@post $none
Selects the next Cloudlets in the waiting list to move to the execution list in order to start executing them . While there is enough free PEs the method try to find a suitable Cloudlet in the list until it reaches the end of such a list . The method might also exchange some cloudlets in the execution list with some in the waiting list . Thus some running cloudlets may be preempted to give opportunity to previously waiting cloudlets to run . This is a process called context switch . However each CloudletScheduler implementation decides how such a process is implemented . For instance Space - Shared schedulers may just perform context switch just after currently running Cloudlets completely finish executing . This method is called internally by the CloudletScheduler#updateProcessing ( double List ) one . @pre currentTime > = 0 @post $none
protected void moveNextCloudletsFromWaitingToExecList() {
        Optional<CloudletExecutionInfo> optional = Optional.of(CloudletExecutionInfo.NULL);
        while (!cloudletWaitingList.isEmpty() && optional.isPresent() && getFreePes() > 0) {
            optional = findSuitableWaitingCloudlet();
            optional.ifPresent(this::addWaitingCloudletToExecList);
        }
    }
protected void moveNextCloudletsFromWaitingToExecList ( ) { Optional < CloudletExecutionInfo > optional = Optional . of ( CloudletExecutionInfo . NULL ) ; while ( ! cloudletWaitingList . isEmpty ( ) && optional . isPresent ( ) && getFreePes ( ) > 0 ) { optional = findSuitableWaitingCloudlet ( ) ; optional . ifPresent ( this :: addWaitingCloudletToExecList ) ; } }
Selects the next Cloudlets in the waiting list to move to the execution
 list in order to start executing them.
Selects the next Cloudlets in the waiting list to move to the execution list in order to start executing them .