Blocks until all work has completed execution after a shutdown request, or the timeout occurs,
or the current thread is interrupted, whichever happens first.
Returns true if all work has completed following shut down. Note that isTerminated is never
true unless either shutdown or shutdownNow was called first.
Initiates an orderly shutdown in which previously submitted work is finished, but no new work
will be accepted. Invocation has no additional effect if already shut down.
This method does not wait for previously submitted work to complete execution. Use
awaitTermination to do that.
shutdownNow()
publicabstractvoidshutdownNow()
Attempts to stop all actively executing work and halts the processing of waiting work.
This method does not wait for actively executing work to terminate. Use awaitTermination to
do that.
There are no guarantees beyond best-effort attempts to stop processing actively executing
work. For example, typical implementations will cancel via Thread.interrupt(), so any task that
fails to respond to interrupts may never terminate.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eBackgroundResource\u003c/code\u003e interface in the Google API Client Library for Java, showcasing a range of versions from 2.7.1 up to the latest release, 2.63.1.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eBackgroundResource\u003c/code\u003e represents a resource that runs in the background and requires proper shutdown to release its associated resources, implementing the \u003ccode\u003eAutoCloseable\u003c/code\u003e interface.\u003c/p\u003e\n"],["\u003cp\u003eThe interface includes methods like \u003ccode\u003eshutdown()\u003c/code\u003e and \u003ccode\u003eshutdownNow()\u003c/code\u003e for initiating shutdown procedures, and \u003ccode\u003eawaitTermination()\u003c/code\u003e for waiting until work has completed or a timeout occurs.\u003c/p\u003e\n"],["\u003cp\u003eOther methods include \u003ccode\u003eisShutdown()\u003c/code\u003e to verify if a shutdown has been initiated, and \u003ccode\u003eisTerminated()\u003c/code\u003e to check if all the background tasks have been terminated.\u003c/p\u003e\n"]]],[],null,["# Interface BackgroundResource (2.69.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.69.0 (latest)](/java/docs/reference/gax/latest/com.google.api.gax.core.BackgroundResource)\n- [2.68.2](/java/docs/reference/gax/2.68.2/com.google.api.gax.core.BackgroundResource)\n- [2.67.0](/java/docs/reference/gax/2.67.0/com.google.api.gax.core.BackgroundResource)\n- [2.66.0](/java/docs/reference/gax/2.66.0/com.google.api.gax.core.BackgroundResource)\n- [2.65.0](/java/docs/reference/gax/2.65.0/com.google.api.gax.core.BackgroundResource)\n- [2.63.1](/java/docs/reference/gax/2.63.1/com.google.api.gax.core.BackgroundResource)\n- [2.62.0](/java/docs/reference/gax/2.62.0/com.google.api.gax.core.BackgroundResource)\n- [2.61.0](/java/docs/reference/gax/2.61.0/com.google.api.gax.core.BackgroundResource)\n- [2.60.0](/java/docs/reference/gax/2.60.0/com.google.api.gax.core.BackgroundResource)\n- [2.59.1](/java/docs/reference/gax/2.59.1/com.google.api.gax.core.BackgroundResource)\n- [2.58.0](/java/docs/reference/gax/2.58.0/com.google.api.gax.core.BackgroundResource)\n- [2.57.0](/java/docs/reference/gax/2.57.0/com.google.api.gax.core.BackgroundResource)\n- [2.55.0](/java/docs/reference/gax/2.55.0/com.google.api.gax.core.BackgroundResource)\n- [2.54.1](/java/docs/reference/gax/2.54.1/com.google.api.gax.core.BackgroundResource)\n- [2.53.0](/java/docs/reference/gax/2.53.0/com.google.api.gax.core.BackgroundResource)\n- [2.52.0](/java/docs/reference/gax/2.52.0/com.google.api.gax.core.BackgroundResource)\n- [2.51.0](/java/docs/reference/gax/2.51.0/com.google.api.gax.core.BackgroundResource)\n- [2.50.0](/java/docs/reference/gax/2.50.0/com.google.api.gax.core.BackgroundResource)\n- [2.49.0](/java/docs/reference/gax/2.49.0/com.google.api.gax.core.BackgroundResource)\n- [2.48.1](/java/docs/reference/gax/2.48.1/com.google.api.gax.core.BackgroundResource)\n- [2.47.0](/java/docs/reference/gax/2.47.0/com.google.api.gax.core.BackgroundResource)\n- [2.46.1](/java/docs/reference/gax/2.46.1/com.google.api.gax.core.BackgroundResource)\n- [2.45.0](/java/docs/reference/gax/2.45.0/com.google.api.gax.core.BackgroundResource)\n- [2.43.0](/java/docs/reference/gax/2.43.0/com.google.api.gax.core.BackgroundResource)\n- [2.42.0](/java/docs/reference/gax/2.42.0/com.google.api.gax.core.BackgroundResource)\n- [2.41.0](/java/docs/reference/gax/2.41.0/com.google.api.gax.core.BackgroundResource)\n- [2.39.0](/java/docs/reference/gax/2.39.0/com.google.api.gax.core.BackgroundResource)\n- [2.38.0](/java/docs/reference/gax/2.38.0/com.google.api.gax.core.BackgroundResource)\n- [2.37.0](/java/docs/reference/gax/2.37.0/com.google.api.gax.core.BackgroundResource)\n- [2.36.0](/java/docs/reference/gax/2.36.0/com.google.api.gax.core.BackgroundResource)\n- [2.35.0](/java/docs/reference/gax/2.35.0/com.google.api.gax.core.BackgroundResource)\n- [2.34.1](/java/docs/reference/gax/2.34.1/com.google.api.gax.core.BackgroundResource)\n- [2.33.0](/java/docs/reference/gax/2.33.0/com.google.api.gax.core.BackgroundResource)\n- [2.32.1](/java/docs/reference/gax/2.32.1/com.google.api.gax.core.BackgroundResource)\n- [2.31.1](/java/docs/reference/gax/2.31.1/com.google.api.gax.core.BackgroundResource)\n- [2.30.1](/java/docs/reference/gax/2.30.1/com.google.api.gax.core.BackgroundResource)\n- [2.24.0](/java/docs/reference/gax/2.24.0/com.google.api.gax.core.BackgroundResource)\n- [2.23.3](/java/docs/reference/gax/2.23.3/com.google.api.gax.core.BackgroundResource)\n- [2.22.0](/java/docs/reference/gax/2.22.0/com.google.api.gax.core.BackgroundResource)\n- [2.21.0](/java/docs/reference/gax/2.21.0/com.google.api.gax.core.BackgroundResource)\n- [2.20.1](/java/docs/reference/gax/2.20.1/com.google.api.gax.core.BackgroundResource)\n- [2.19.6](/java/docs/reference/gax/2.19.6/com.google.api.gax.core.BackgroundResource)\n- [2.18.7](/java/docs/reference/gax/2.18.7/com.google.api.gax.core.BackgroundResource)\n- [2.17.0](/java/docs/reference/gax/2.17.0/com.google.api.gax.core.BackgroundResource)\n- [2.16.0](/java/docs/reference/gax/2.16.0/com.google.api.gax.core.BackgroundResource)\n- [2.15.0](/java/docs/reference/gax/2.15.0/com.google.api.gax.core.BackgroundResource)\n- [2.14.0](/java/docs/reference/gax/2.14.0/com.google.api.gax.core.BackgroundResource)\n- [2.13.0](/java/docs/reference/gax/2.13.0/com.google.api.gax.core.BackgroundResource)\n- [2.12.2](/java/docs/reference/gax/2.12.2/com.google.api.gax.core.BackgroundResource)\n- [2.11.0](/java/docs/reference/gax/2.11.0/com.google.api.gax.core.BackgroundResource)\n- [2.10.0](/java/docs/reference/gax/2.10.0/com.google.api.gax.core.BackgroundResource)\n- [2.9.0](/java/docs/reference/gax/2.9.0/com.google.api.gax.core.BackgroundResource)\n- [2.8.1](/java/docs/reference/gax/2.8.1/com.google.api.gax.core.BackgroundResource)\n- [2.7.1](/java/docs/reference/gax/2.7.1/com.google.api.gax.core.BackgroundResource) \n\n public interface BackgroundResource extends AutoCloseable\n\nRepresents a resource running in the background that needs to be shut down for resources to be\nreleased. \n\nImplements\n----------\n\n[AutoCloseable](https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html)\n\nMethods\n-------\n\n### awaitTermination(long duration, TimeUnit unit)\n\n public abstract boolean awaitTermination(long duration, TimeUnit unit)\n\nBlocks until all work has completed execution after a shutdown request, or the timeout occurs,\nor the current thread is interrupted, whichever happens first.\n\n### isShutdown()\n\n public abstract boolean isShutdown()\n\nReturns true if this background resource has been shut down.\n\n### isTerminated()\n\n public abstract boolean isTerminated()\n\nReturns true if all work has completed following shut down. Note that isTerminated is never\ntrue unless either shutdown or shutdownNow was called first.\n\n### shutdown()\n\n public abstract void shutdown()\n\nInitiates an orderly shutdown in which previously submitted work is finished, but no new work\nwill be accepted. Invocation has no additional effect if already shut down.\n\nThis method does not wait for previously submitted work to complete execution. Use\nawaitTermination to do that.\n\n### shutdownNow()\n\n public abstract void shutdownNow()\n\nAttempts to stop all actively executing work and halts the processing of waiting work.\n\nThis method does not wait for actively executing work to terminate. Use awaitTermination to\ndo that.\n\nThere are no guarantees beyond best-effort attempts to stop processing actively executing\nwork. For example, typical implementations will cancel via Thread.interrupt(), so any task that\nfails to respond to interrupts may never terminate."]]