
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