All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.checkerframework.checker.lock.qual.LockingFree Maven / Gradle / Ivy

The newest version!
package org.checkerframework.checker.lock.qual;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.dataflow.qual.SideEffectFree;
import org.checkerframework.framework.qual.InheritedAnnotation;

/**
 * The method neither acquires nor releases locks, nor do any of the methods that it calls. More
 * specifically, the method is not {@code synchronized}, it contains no {@code synchronized} blocks,
 * it contains no calls to {@code lock} or {@code unlock}, and it contains no calls to other
 * non-{@code @LockingFree} methods.
 *
 * 

{@code @LockingFree} provides a stronger guarantee than {@code @}{@link ReleasesNoLocks} and a * weaker guarantee than {@code @}{@link SideEffectFree}. * * @see MayReleaseLocks * @see ReleasesNoLocks * @see SideEffectFree * @see Pure * @checker_framework.manual #lock-checker Lock Checker * @checker_framework.manual #lock-lockingfree-example Example use of @LockingFree */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.CONSTRUCTOR}) @InheritedAnnotation public @interface LockingFree {}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy