Provides core support for scheduling and interacting with background activity.

Package Specification

This package specifies API for scheduling background tasks, or jobs. Jobs can be scheduled for immediate execution, or for execution after a specified delay. Once scheduled, jobs can be queried, canceled, or suspended. Rules can be attached to jobs to indicate when they can run, and whether they can run simultaneously with other jobs. This package also includes a generic locking facility that includes support for detecting and responding to deadlock.

  • Class
    An event describing a change to the state of a job.
    Callback interface for clients interested in being notified when jobs change state.
    This is a functional interface representation of Job, suitable for use in lambda expressions.
    The job manager provides facilities for scheduling, querying, and maintaining jobs and locks.
    Represents status relating to the execution of jobs.
    A lock is used to control access to an exclusive resource.
    An interface to mark an operation that needs an ISchedulingRule.
    Scheduling rules are used by jobs to indicate when they need exclusive access to a resource.
    Jobs are units of runnable work that can be scheduled to be run with the job manager.
    This adapter class provides default implementations for the methods described by the IJobChangeListener interface.
    JobGroups support throttling, join, cancel, combined progress and error reporting on a group of jobs.
    A lock listener is notified whenever a thread is about to wait on a lock, and when a thread is about to release a lock.
    A MultiRule is a compound scheduling rule that represents a fixed group of child scheduling rules.
    The progress provider supplies the job manager with progress monitors for running jobs.