mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
39 lines
511 B
Java
39 lines
511 B
Java
package com.volmit.iris.util;
|
|
|
|
import java.util.concurrent.locks.ReentrantLock;
|
|
|
|
import lombok.Data;
|
|
|
|
@Data
|
|
public class IrisLock
|
|
{
|
|
private transient final ReentrantLock lock;
|
|
private transient final String name;
|
|
private transient boolean disabled = false;
|
|
|
|
public IrisLock(String name)
|
|
{
|
|
this.name = name;
|
|
lock = new ReentrantLock(false);
|
|
}
|
|
|
|
public void lock()
|
|
{
|
|
if(disabled)
|
|
{
|
|
return;
|
|
}
|
|
|
|
lock.lock();
|
|
}
|
|
|
|
public void unlock()
|
|
{
|
|
if(disabled)
|
|
{
|
|
return;
|
|
}
|
|
lock.unlock();
|
|
}
|
|
}
|