本文整理了Java中java.util.concurrent.locks.ReentrantLock.isFair
方法的一些代码示例,展示了ReentrantLock.isFair
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReentrantLock.isFair
方法的具体详情如下:
包路径:java.util.concurrent.locks.ReentrantLock
类名称:ReentrantLock
方法名:isFair
[英]Returns true if this lock has fairness set true.
[中]如果此锁的公平性设置为true,则返回true。
代码示例来源:origin: alibaba/druid
public boolean isUseUnfairLock() {
return lock.isFair();
}
代码示例来源:origin: alibaba/druid
public void setUseUnfairLock(boolean useUnfairLock) {
if (lock.isFair() == !useUnfairLock) {
return;
}
if (!this.inited) {
final ReentrantLock lock = this.lock;
lock.lock();
try {
if (!this.inited) {
this.lock = new ReentrantLock(!useUnfairLock);
this.notEmpty = this.lock.newCondition();
this.empty = this.lock.newCondition();
this.useUnfairLock = useUnfairLock;
}
} finally {
lock.unlock();
}
}
}
代码示例来源:origin: alibaba/druid
public void setMaxWait(long maxWaitMillis) {
if (maxWaitMillis == this.maxWait) {
return;
}
if (maxWaitMillis > 0 && useUnfairLock == null && !this.inited) {
final ReentrantLock lock = this.lock;
lock.lock();
try {
if ((!this.inited) && (!lock.isFair())) {
this.lock = new ReentrantLock(true);
this.notEmpty = this.lock.newCondition();
this.empty = this.lock.newCondition();
}
} finally {
lock.unlock();
}
}
if (inited) {
LOG.error("maxWait changed : " + this.maxWait + " -> " + maxWaitMillis);
}
this.maxWait = maxWaitMillis;
}
代码示例来源:origin: com.alibaba/druid
public boolean isUseUnfairLock() {
return lock.isFair();
}
代码示例来源:origin: com.alibaba/druid
public void setUseUnfairLock(boolean useUnfairLock) {
if (lock.isFair() == !useUnfairLock) {
return;
}
if (!this.inited) {
final ReentrantLock lock = this.lock;
lock.lock();
try {
if (!this.inited) {
this.lock = new ReentrantLock(!useUnfairLock);
this.notEmpty = this.lock.newCondition();
this.empty = this.lock.newCondition();
this.useUnfairLock = useUnfairLock;
}
} finally {
lock.unlock();
}
}
}
代码示例来源:origin: com.alibaba/druid
public void setMaxWait(long maxWaitMillis) {
if (maxWaitMillis == this.maxWait) {
return;
}
if (maxWaitMillis > 0 && useUnfairLock == null && !this.inited) {
final ReentrantLock lock = this.lock;
lock.lock();
try {
if ((!this.inited) && (!lock.isFair())) {
this.lock = new ReentrantLock(true);
this.notEmpty = this.lock.newCondition();
this.empty = this.lock.newCondition();
}
} finally {
lock.unlock();
}
}
if (inited) {
LOG.error("maxWait changed : " + this.maxWait + " -> " + maxWaitMillis);
}
this.maxWait = maxWaitMillis;
}
代码示例来源:origin: harbby/presto-connectors
/**
* Returns whether this monitor is using a fair ordering policy.
*/
public boolean isFair() {
return lock.isFair();
}
代码示例来源:origin: org.sonatype.sisu/sisu-guava
/**
* Returns whether this monitor is using a fair ordering policy.
*/
public boolean isFair() {
return lock.isFair();
}
代码示例来源:origin: io.prestosql.hive/hive-apache-jdbc
/**
* Returns whether this monitor is using a fair ordering policy.
*/
public boolean isFair() {
return lock.isFair();
}
代码示例来源:origin: io.prestosql.hadoop/hadoop-apache
/**
* Returns whether this monitor is using a fair ordering policy.
*/
public boolean isFair() {
return lock.isFair();
}
代码示例来源:origin: org.hudsonci.lib.guava/guava
/**
* Returns whether this monitor is using a fair ordering policy.
*/
public boolean isFair() {
return lock.isFair();
}
代码示例来源:origin: com.facebook.presto.hive/hive-apache-jdbc
/**
* Returns whether this monitor is using a fair ordering policy.
*/
public boolean isFair() {
return lock.isFair();
}
代码示例来源:origin: loveincode/Java-Multi-thread-Programming
public void serviceMethod() {
try {
lock.lock();
System.out.println("公平锁情况:" + lock.isFair());
} finally {
lock.unlock();
}
}
代码示例来源:origin: dunwu/javacore
public void execute() {
lock.lock();
try {
for (int i = 0; i < 3; i++) {
System.out.println(Thread.currentThread().getName());
// 查询当前线程保持此锁的次数
System.out.println("\t holdCount: " + lock.getHoldCount());
// 返回正等待获取此锁的线程估计数
System.out.println("\t queuedLength: " + lock.getQueueLength());
// 如果此锁的公平设置为 true,则返回 true
System.out.println("\t isFair: " + lock.isFair());
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} finally {
lock.unlock();
}
}
}
代码示例来源:origin: kabutz/javaspecialists
public static <E> ArrayBlockingQueue<E> makeManaged(
ArrayBlockingQueue<E> queue) {
Class<?> clazz = ArrayBlockingQueue.class;
try {
Field lockField = clazz.getDeclaredField("lock");
lockField.setAccessible(true);
ReentrantLock old = (ReentrantLock) lockField.get(queue);
boolean fair = old.isFair();
ReentrantLock lock = new ManagedReentrantLock(fair);
lockField.set(queue, lock);
replace(queue, clazz, "notEmpty", lock.newCondition());
replace(queue, clazz, "notFull", lock.newCondition());
return queue;
} catch (IllegalAccessException | NoSuchFieldException e) {
throw new IllegalStateException(e);
}
}
代码示例来源:origin: dunwu/javacore
public void execute() {
try {
lock.lockInterruptibly();
for (int i = 0; i < 3; i++) {
System.out.println(Thread.currentThread().getName());
// 查询当前线程保持此锁的次数
System.out.println("\t holdCount: " + lock.getHoldCount());
// 返回正等待获取此锁的线程估计数
System.out.println("\t queuedLength: " + lock.getQueueLength());
// 如果此锁的公平设置为 true,则返回 true
System.out.println("\t isFair: " + lock.isFair());
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} catch (InterruptedException e) {
System.out.println(Thread.currentThread().getName() + "被中断");
e.printStackTrace();
} finally {
lock.unlock();
}
}
}
代码示例来源:origin: dunwu/javacore
public void execute() {
if (lock.tryLock()) {
try {
for (int i = 0; i < 3; i++) {
System.out.println(Thread.currentThread().getName());
// 查询当前线程保持此锁的次数
System.out.println("\t holdCount: " + lock.getHoldCount());
// 返回正等待获取此锁的线程估计数
System.out.println("\t queuedLength: " + lock.getQueueLength());
// 如果此锁的公平设置为 true,则返回 true
System.out.println("\t isFair: " + lock.isFair());
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} finally {
lock.unlock();
}
} else {
System.out.println(Thread.currentThread().getName() + " 获取锁失败");
}
}
}
代码示例来源:origin: dunwu/javacore
public void execute() {
try {
if (lock.tryLock(2, TimeUnit.SECONDS)) {
try {
for (int i = 0; i < 3; i++) {
System.out.println(Thread.currentThread().getName());
// 查询当前线程保持此锁的次数
System.out.println("\t holdCount: " + lock.getHoldCount());
// 返回正等待获取此锁的线程估计数
System.out.println("\t queuedLength: " + lock.getQueueLength());
// 如果此锁的公平设置为 true,则返回 true
System.out.println("\t isFair: " + lock.isFair());
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} finally {
lock.unlock();
}
} else {
System.out.println(Thread.currentThread().getName() + " 获取锁失败");
}
} catch (InterruptedException e) {
System.out.println(Thread.currentThread().getName() + " 获取锁超时");
e.printStackTrace();
}
}
}
内容来源于网络,如有侵权,请联系作者删除!