public class PrioritySchedulerFactory extends DefaultSchedulerFactory
ss, vm
BEGIN_ATOMIC, END_ATOMIC, MONITOR_ENTER, MONITOR_EXIT, NOTIFY, NOTIFY_ALL, PARK, SHARED_ARRAY_ACCESS, SHARED_FIELD_ACCESS, SHARED_OBJECT_EXPOSURE, SYNC_METHOD_ENTER, SYNC_METHOD_EXIT, THREAD_INTERRUPT, THREAD_RESUME, THREAD_SLEEP, THREAD_START, THREAD_STOP, THREAD_SUSPEND, THREAD_TERMINATE, THREAD_YIELD, UNPARK, WAIT
Constructor and Description |
---|
PrioritySchedulerFactory(Config config,
VM vm,
SystemState ss) |
Modifier and Type | Method and Description |
---|---|
ChoiceGenerator<ThreadInfo> |
createMonitorExitCG(ElementInfo ei,
ThreadInfo ti) |
ChoiceGenerator<ThreadInfo> |
createThreadStartCG(ThreadInfo newThread)
as soon as a higher prio thread becomes runnable, we have to switch
|
protected ThreadInfo[] |
filter(ThreadInfo[] list)
the private filter method to get the topmost prio threads out of the
provided list.
|
createBeginAtomicCG, createEndAtomicCG, createEnterCG, createExitCG, createInterruptCG, createMonitorEnterCG, createNotifyAllCG, createNotifyCG, createParkCG, createSharedArrayAccessCG, createSharedFieldAccessCG, createSharedObjectExposureCG, createSyncMethodEnterCG, createSyncMethodExitCG, createThreadResumeCG, createThreadSleepCG, createThreadStopCG, createThreadSuspendCG, createThreadTerminateCG, createThreadYieldCG, createUnparkCG, createWaitCG, getRunnableCG, getRunnables, getRunnablesIfChoices, getRunnablesWith, getRunnablesWithout, getSyncCG
public PrioritySchedulerFactory(Config config, VM vm, SystemState ss)
protected ThreadInfo[] filter(ThreadInfo[] list)
filter
in class DefaultSchedulerFactory
public ChoiceGenerator<ThreadInfo> createThreadStartCG(ThreadInfo newThread)
createThreadStartCG
in interface SchedulerFactory
createThreadStartCG
in class DefaultSchedulerFactory
public ChoiceGenerator<ThreadInfo> createMonitorExitCG(ElementInfo ei, ThreadInfo ti)
createMonitorExitCG
in interface SchedulerFactory
createMonitorExitCG
in class DefaultSchedulerFactory