本文整理汇总了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);
}
}
示例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);
}
}
示例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());
}
示例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)));
}
示例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());
}
示例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());
}
示例7: example
import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
ConditionObject example(AbstractQueuedSynchronizer sync) {
return null;
}
示例8: before
import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
@BeforeTemplate
public ConditionObject before(AbstractQueuedSynchronizer sync) {
return sync.new ConditionObject();
}
示例9: after
import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
@AfterTemplate
public ConditionObject after(AbstractQueuedSynchronizer sync) {
return null;
}
示例10: example
import java.util.concurrent.locks.AbstractQueuedSynchronizer; //导入依赖的package包/类
ConditionObject example(AbstractQueuedSynchronizer sync) {
return sync.new ConditionObject();
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
}