RLPark 1.0.0
Reinforcement Learning Framework in Java
|
00001 package rlpark.example.demos.scheduling; 00002 00003 import java.util.ArrayList; 00004 import java.util.Iterator; 00005 import java.util.List; 00006 00007 import rlpark.plugin.rltoys.experiments.scheduling.interfaces.JobDoneEvent; 00008 import rlpark.plugin.rltoys.experiments.scheduling.queue.LocalQueue; 00009 import rlpark.plugin.rltoys.experiments.scheduling.schedulers.LocalScheduler; 00010 import zephyr.plugin.core.api.signals.Listener; 00011 00012 00013 public class LocalScheduling { 00014 static Iterator<? extends Runnable> createJobList() { 00015 List<Runnable> jobs = new ArrayList<Runnable>(); 00016 for (int i = 0; i < 100; i++) 00017 jobs.add(new Job()); 00018 return jobs.iterator(); 00019 } 00020 00021 static Listener<JobDoneEvent> createJobDoneListener() { 00022 return new Listener<JobDoneEvent>() { 00023 00024 @Override 00025 public void listen(JobDoneEvent eventInfo) { 00026 System.out.println("Job done. Result: " + ((Job) eventInfo.done).result()); 00027 } 00028 }; 00029 } 00030 00031 public static void main(String[] args) { 00032 LocalScheduler scheduler = new LocalScheduler(); 00033 Iterator<? extends Runnable> jobList = createJobList(); 00034 Listener<JobDoneEvent> jobDoneListener = createJobDoneListener(); 00035 ((LocalQueue) scheduler.queue()).add(jobList, jobDoneListener); 00036 scheduler.start(); 00037 scheduler.waitAll(); 00038 } 00039 }