当前位置: 首页>>代码示例>>Java>>正文


Java AbstractQueuedSynchronizer类代码示例

本文整理汇总了Java中java.util.concurrent.locks.AbstractQueuedSynchronizer的典型用法代码示例。如果您正苦于以下问题:Java AbstractQueuedSynchronizer类的具体用法?Java AbstractQueuedSynchronizer怎么用?Java AbstractQueuedSynchronizer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AbstractQueuedSynchronizer类属于java.util.concurrent.locks包,在下文中一共展示了AbstractQueuedSynchronizer类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: hasWaiters

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
/** {@inheritDoc} */
@Override public boolean hasWaiters(IgniteCondition condition) {
    try{
        initializeReentrantLock();

        AbstractQueuedSynchronizer.ConditionObject c = sync.conditionMap.get(condition.name());

        if (c == null)
            throw new IllegalArgumentException();

        return sync.hasWaiters(c);
    }
    catch (IgniteCheckedException e) {
        throw U.convertException(e);
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:17,代码来源:GridCacheLockImpl.java

示例2: getWaitQueueLength

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
/** {@inheritDoc} */
@Override public int getWaitQueueLength(IgniteCondition condition) {
    try{
        initializeReentrantLock();

        AbstractQueuedSynchronizer.ConditionObject c = sync.conditionMap.get(condition.name());

        if (c == null)
            throw new IllegalArgumentException();

        return sync.getWaitQueueLength(c);
    }
    catch (IgniteCheckedException e) {
        throw U.convertException(e);
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:17,代码来源:GridCacheLockImpl.java

示例3: waitForQueuedThread

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
/**
 * Spin-waits until sync.isQueued(t) becomes true.
 */
void waitForQueuedThread(AbstractQueuedSynchronizer sync, Thread t) {
    long startTime = System.nanoTime();
    while (!sync.isQueued(t)) {
        if (millisElapsedSince(startTime) > LONG_DELAY_MS)
            throw new AssertionFailedError("timed out");
        Thread.yield();
    }
    assertTrue(t.isAlive());
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:13,代码来源:AbstractQueuedSynchronizerTest.java

示例4: assertHasQueuedThreads

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
/**
 * Checks that sync has exactly the given queued threads.
 */
void assertHasQueuedThreads(AbstractQueuedSynchronizer sync,
                            Thread... expected) {
    Collection<Thread> actual = sync.getQueuedThreads();
    assertEquals(expected.length > 0, sync.hasQueuedThreads());
    assertEquals(expected.length, sync.getQueueLength());
    assertEquals(expected.length, actual.size());
    assertEquals(expected.length == 0, actual.isEmpty());
    assertEquals(new HashSet<Thread>(actual),
                 new HashSet<Thread>(Arrays.asList(expected)));
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:14,代码来源:AbstractQueuedSynchronizerTest.java

示例5: assertHasExclusiveQueuedThreads

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
/**
 * Checks that sync has exactly the given (exclusive) queued threads.
 */
void assertHasExclusiveQueuedThreads(AbstractQueuedSynchronizer sync,
                                     Thread... expected) {
    assertHasQueuedThreads(sync, expected);
    assertEquals(new HashSet<Thread>(sync.getExclusiveQueuedThreads()),
                 new HashSet<Thread>(sync.getQueuedThreads()));
    assertEquals(0, sync.getSharedQueuedThreads().size());
    assertTrue(sync.getSharedQueuedThreads().isEmpty());
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:12,代码来源:AbstractQueuedSynchronizerTest.java

示例6: assertHasSharedQueuedThreads

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
/**
 * Checks that sync has exactly the given (shared) queued threads.
 */
void assertHasSharedQueuedThreads(AbstractQueuedSynchronizer sync,
                                  Thread... expected) {
    assertHasQueuedThreads(sync, expected);
    assertEquals(new HashSet<Thread>(sync.getSharedQueuedThreads()),
                 new HashSet<Thread>(sync.getQueuedThreads()));
    assertEquals(0, sync.getExclusiveQueuedThreads().size());
    assertTrue(sync.getExclusiveQueuedThreads().isEmpty());
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:12,代码来源:AbstractQueuedSynchronizerTest.java

示例7: example

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
ConditionObject example(AbstractQueuedSynchronizer sync) {
  return null;
}
 
开发者ID:google,项目名称:error-prone,代码行数:4,代码来源:NestedClassTemplateExample.java

示例8: before

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
@BeforeTemplate
public ConditionObject before(AbstractQueuedSynchronizer sync) {
  return sync.new ConditionObject();
}
 
开发者ID:google,项目名称:error-prone,代码行数:5,代码来源:NestedClassTemplate.java

示例9: after

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
@AfterTemplate
public ConditionObject after(AbstractQueuedSynchronizer sync) {
  return null;
}
 
开发者ID:google,项目名称:error-prone,代码行数:5,代码来源:NestedClassTemplate.java

示例10: example

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
ConditionObject example(AbstractQueuedSynchronizer sync) {
  return sync.new ConditionObject();
}
 
开发者ID:google,项目名称:error-prone,代码行数:4,代码来源:NestedClassTemplateExample.java

示例11: juclAQS_releaseShared

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
public static void juclAQS_releaseShared(AbstractQueuedSynchronizer owner, int arg, long pc) {
  writer.writeEvent(EventType.SIGNAL, tid(), pc, System.identityHashCode(owner), 0);
}
 
开发者ID:google,项目名称:java-thread-sanitizer,代码行数:4,代码来源:EventListener.java

示例12: juclAQS_acquireSharedInterruptibly

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
public static void juclAQS_acquireSharedInterruptibly(AbstractQueuedSynchronizer owner,
                                                      int arg, long pc){
  writer.writeEvent(EventType.WAIT, tid(), pc, System.identityHashCode(owner), 0);
}
 
开发者ID:google,项目名称:java-thread-sanitizer,代码行数:5,代码来源:EventListener.java

示例13: juclAQS_acquireShared

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
public static void juclAQS_acquireShared(AbstractQueuedSynchronizer owner, int arg, long pc){
  writer.writeEvent(EventType.WAIT, tid(), pc, System.identityHashCode(owner), 0);
}
 
开发者ID:google,项目名称:java-thread-sanitizer,代码行数:4,代码来源:EventListener.java

示例14: juclAQS_tryAcquireSharedNanos

import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
public static void juclAQS_tryAcquireSharedNanos(AbstractQueuedSynchronizer owner,
                                                 int arg, long nanos, boolean result, long pc) {
  if (result) {
    writer.writeEvent(EventType.WAIT, tid(), pc, System.identityHashCode(owner), 0);
  }
}
 
开发者ID:google,项目名称:java-thread-sanitizer,代码行数:7,代码来源:EventListener.java


注:本文中的java.util.concurrent.locks.AbstractQueuedSynchronizer类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。