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

ru.progrm_jarvis.javacommons.collection.concurrent.ConcurrentSetWrapper Maven / Gradle / Ivy

package ru.progrm_jarvis.javacommons.collection.concurrent;

import lombok.NonNull;
import org.jetbrains.annotations.NotNull;

import java.util.Set;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;

public class ConcurrentSetWrapper>
        extends ConcurrentCollectionWrapper implements Set {
    protected ConcurrentSetWrapper(final @NotNull W wrapped,
                                   final @NotNull Lock readLock,
                                   final @NotNull Lock writeLock) {
        super(wrapped, readLock, writeLock);
    }

    public static  @NotNull Set create(final @NonNull Set wrapped) {
        final ReadWriteLock lock;

        return new ConcurrentSetWrapper<>(
                wrapped, (lock = new ReentrantReadWriteLock()).readLock(), lock.writeLock()
        );
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy