本文整理了Java中com.github.benmanes.caffeine.cache.Caffeine.getExecutor()
方法的一些代码示例,展示了Caffeine.getExecutor()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Caffeine.getExecutor()
方法的具体详情如下:
包路径:com.github.benmanes.caffeine.cache.Caffeine
类名称:Caffeine
方法名:getExecutor
暂无
代码示例来源:origin: ben-manes/caffeine
AsyncLoader(AsyncCacheLoader<? super K, V> loader, Caffeine<?, ?> builder) {
this.executor = requireNonNull(builder.getExecutor());
this.loader = requireNonNull(loader);
}
代码示例来源:origin: ben-manes/caffeine
@SuppressWarnings({"unchecked", "rawtypes"})
@Nullable <K1 extends K, V1 extends V> RemovalListener<K1, V1> getRemovalListener(boolean async) {
RemovalListener<K1, V1> castedListener = (RemovalListener<K1, V1>) removalListener;
return async && (castedListener != null)
? new AsyncRemovalListener(castedListener, getExecutor())
: castedListener;
}
代码示例来源:origin: ben-manes/caffeine
UnboundedLocalCache(Caffeine<? super K, ? super V> builder, boolean async) {
this.data = new ConcurrentHashMap<>(builder.getInitialCapacity());
this.statsCounter = builder.getStatsCounterSupplier().get();
this.removalListener = builder.getRemovalListener(async);
this.isRecordingStats = builder.isRecordingStats();
this.writer = builder.getCacheWriter();
this.executor = builder.getExecutor();
this.ticker = builder.getTicker();
}
代码示例来源:origin: ben-manes/caffeine
@Test
public void executor() {
Caffeine<?, ?> builder = Caffeine.newBuilder().executor(MoreExecutors.directExecutor());
assertThat(builder.getExecutor(), is(MoreExecutors.directExecutor()));
builder.build();
}
代码示例来源:origin: ben-manes/caffeine
/** Creates an instance based on the builder's configuration. */
protected BoundedLocalCache(Caffeine<K, V> builder,
@Nullable CacheLoader<K, V> cacheLoader, boolean isAsync) {
this.isAsync = isAsync;
this.cacheLoader = cacheLoader;
executor = builder.getExecutor();
writer = builder.getCacheWriter();
evictionLock = new ReentrantLock();
weigher = builder.getWeigher(isAsync);
drainBuffersTask = new PerformCleanupTask();
nodeFactory = NodeFactory.newFactory(builder, isAsync);
data = new ConcurrentHashMap<>(builder.getInitialCapacity());
readBuffer = evicts() || collectKeys() || collectValues() || expiresAfterAccess()
? new BoundedBuffer<>()
: Buffer.disabled();
accessPolicy = (evicts() || expiresAfterAccess()) ? this::onAccess : e -> {};
if (evicts()) {
setMaximum(builder.getMaximum());
}
}
代码示例来源:origin: com.github.ben-manes.caffeine/caffeine
private static <K, V> CacheLoader<K, V> asyncLoader(
AsyncCacheLoader<? super K, V> loader, Caffeine<?, ?> builder) {
Executor executor = builder.getExecutor();
return new CacheLoader<K, V>() {
@Override public V load(K key) {
@SuppressWarnings("unchecked")
V newValue = (V) loader.asyncLoad(key, executor);
return newValue;
}
@Override public V reload(K key, V oldValue) {
@SuppressWarnings("unchecked")
V newValue = (V) loader.asyncReload(key, oldValue, executor);
return newValue;
}
@Override public CompletableFuture<V> asyncReload(K key, V oldValue, Executor executor) {
return loader.asyncReload(key, oldValue, executor);
}
};
}
代码示例来源:origin: com.github.ben-manes.caffeine/caffeine
@SuppressWarnings({"unchecked", "rawtypes"})
@Nullable <K1 extends K, V1 extends V> RemovalListener<K1, V1> getRemovalListener(boolean async) {
RemovalListener<K1, V1> castedListener = (RemovalListener<K1, V1>) removalListener;
return async && (castedListener != null)
? new AsyncRemovalListener(castedListener, getExecutor())
: castedListener;
}
代码示例来源:origin: com.github.ben-manes.caffeine/caffeine
UnboundedLocalCache(Caffeine<? super K, ? super V> builder, boolean async) {
this.data = new ConcurrentHashMap<>(builder.getInitialCapacity());
this.statsCounter = builder.getStatsCounterSupplier().get();
this.removalListener = builder.getRemovalListener(async);
this.isRecordingStats = builder.isRecordingStats();
this.writer = builder.getCacheWriter();
this.executor = builder.getExecutor();
this.ticker = builder.getTicker();
}
代码示例来源:origin: com.github.ben-manes.caffeine/caffeine
/** Creates an instance based on the builder's configuration. */
protected BoundedLocalCache(Caffeine<K, V> builder,
@Nullable CacheLoader<K, V> cacheLoader, boolean isAsync) {
this.isAsync = isAsync;
this.cacheLoader = cacheLoader;
executor = builder.getExecutor();
writer = builder.getCacheWriter();
evictionLock = new ReentrantLock();
weigher = builder.getWeigher(isAsync);
drainBuffersTask = new PerformCleanupTask();
nodeFactory = NodeFactory.newFactory(builder, isAsync);
data = new ConcurrentHashMap<>(builder.getInitialCapacity());
readBuffer = evicts() || collectKeys() || collectValues() || expiresAfterAccess()
? new BoundedBuffer<>()
: Buffer.disabled();
accessPolicy = (evicts() || expiresAfterAccess()) ? this::onAccess : e -> {};
if (evicts()) {
setMaximum(builder.getMaximum());
}
}
内容来源于网络,如有侵权,请联系作者删除!