Package com.mchange.v2.async
Class CarefulRunnableQueue
java.lang.Object
com.mchange.v2.async.CarefulRunnableQueue
- All Implemented Interfaces:
ClosableResource,AsynchronousRunner,Queuable,RunnableQueue,StrandedTaskReporting
public class CarefulRunnableQueue
extends Object
implements RunnableQueue, Queuable, StrandedTaskReporting
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Clean-up resources held by this asynchronous runner as soon as possible.voidclose(boolean skip_remaining_tasks) Finish with this AsynchronousRunner, and clean-up any Threads or resources it may hold.makes available any tasks that were unperformed when this AsynchronousRunner was closed, either explicitly using close() or close( true ), or implicitly because some failure or corruption killed the Object (most likely a Thread interruption.void
-
Constructor Details
-
CarefulRunnableQueue
public CarefulRunnableQueue(boolean daemon, boolean shutdown_on_interrupt)
-
-
Method Details
-
asRunnableQueue
- Specified by:
asRunnableQueuein interfaceQueuable
-
postRunnable
- Specified by:
postRunnablein interfaceAsynchronousRunner
-
close
public void close(boolean skip_remaining_tasks) Description copied from interface:AsynchronousRunnerFinish with this AsynchronousRunner, and clean-up any Threads or resources it may hold.- Specified by:
closein interfaceAsynchronousRunner- Parameters:
skip_remaining_tasks- Should be regarded as a hint, not a guarantee. If true, pending, not-yet-performed tasks will be skipped, if possible. Currently executing tasks may or may not be interrupted. If false, all previously scheduled tasks will be completed prior to clean-up. The method returns immediately regardless.
-
close
public void close()Description copied from interface:AsynchronousRunnerClean-up resources held by this asynchronous runner as soon as possible. Remaining tasks are skipped if possible, and any tasks executing when close() is called may or may not be interrupted. Equivalent to close( true ).- Specified by:
closein interfaceAsynchronousRunner- Specified by:
closein interfaceClosableResource
-
getStrandedTasks
Description copied from interface:StrandedTaskReportingmakes available any tasks that were unperformed when this AsynchronousRunner was closed, either explicitly using close() or close( true ), or implicitly because some failure or corruption killed the Object (most likely a Thread interruption.- Specified by:
getStrandedTasksin interfaceStrandedTaskReporting- Returns:
- null if the AsynchronousRunner is still alive, a List of Runnables otherwise, which will be empty only if all tasks were performed before the AsynchronousRunner shut down.
-