Package io.openems.common.worker
Class AbstractImmediateWorker
java.lang.Object
io.openems.common.worker.AbstractWorker
io.openems.common.worker.AbstractImmediateWorker
- Direct Known Subclasses:
AbstractMergePointsWorker
,MergePointsWorker
,ModbusWorker
,OneWireTaskWorker
,Optimizer
,RecordWorker
,SplitDataWorker
Defines a generic Worker Thread.
The business logic of the Worker is inside the forever()
method. It
is executed always called immediately without any delay.
-
Field Summary
Fields inherited from class io.openems.common.worker.AbstractWorker
ALWAYS_WAIT_FOR_TRIGGER_NEXT_RUN, DO_NOT_WAIT, thread
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Initializes the worker and starts the worker thread.void
Stops the worker thread.protected abstract void
forever()
This method is called in a loop forever until the Thread gets interrupted.protected final int
Gets the cycleTime of this worker in [ms].Methods inherited from class io.openems.common.worker.AbstractWorker
activate, modified, modified, setPriority, triggerNextRun
-
Constructor Details
-
AbstractImmediateWorker
public AbstractImmediateWorker()
-
-
Method Details
-
activate
Description copied from class:AbstractWorker
Initializes the worker and starts the worker thread.- Overrides:
activate
in classAbstractWorker
- Parameters:
name
- the name of the worker thread
-
deactivate
public void deactivate()Description copied from class:AbstractWorker
Stops the worker thread.- Overrides:
deactivate
in classAbstractWorker
-
getCycleTime
protected final int getCycleTime()Description copied from class:AbstractWorker
Gets the cycleTime of this worker in [ms].- > 0 sets the minimum execution time of one Cycle
- = 0 never wait between two consecutive executions of forever()
- < 0 causes the Cycle to sleep forever until 'triggerNextRun()' is called
- Specified by:
getCycleTime
in classAbstractWorker
- Returns:
- the cycleTime
-
forever
Description copied from class:AbstractWorker
This method is called in a loop forever until the Thread gets interrupted.- Specified by:
forever
in classAbstractWorker
- Throws:
Throwable
-