@MustBeDocumented
@Retention(value = AnnotationRetention.BINARY)
@Target(allowedTargets = [AnnotationTarget.FUNCTIONAnnotationTarget.PROPERTY_GETTERAnnotationTarget.PROPERTY_SETTERAnnotationTarget.CONSTRUCTORAnnotationTarget.ANNOTATION_CLASSAnnotationTarget.CLASSAnnotationTarget.VALUE_PARAMETER])
public annotation MainThread

Denotes that the annotated method should only be called on the main thread. If the annotated element is a class, then all methods in the class should be called on the main thread.

Example:

@MainThread
public
void deliverResult(D data) { ... }

Note: Ordinarily, an app's main thread is also the UI thread. However, under special circumstances, an app's main thread might not be its UI thread; for more information, see Thread annotations.

Summary

Public constructors

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2025-07-17 UTC.