本文整理汇总了Java中com.google.common.util.concurrent.Striped类的典型用法代码示例。如果您正苦于以下问题:Java Striped类的具体用法?Java Striped怎么用?Java Striped使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Striped类属于com.google.common.util.concurrent包,在下文中一共展示了Striped类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: FeedRefreshUpdater
import com.google.common.util.concurrent.Striped; //导入依赖的package包/类
@Inject
public FeedRefreshUpdater(SessionFactory sessionFactory, FeedUpdateService feedUpdateService, PubSubService pubSubService,
FeedQueues queues, CommaFeedConfiguration config, MetricRegistry metrics, FeedSubscriptionDAO feedSubscriptionDAO,
CacheService cache) {
this.sessionFactory = sessionFactory;
this.feedUpdateService = feedUpdateService;
this.pubSubService = pubSubService;
this.queues = queues;
this.config = config;
this.feedSubscriptionDAO = feedSubscriptionDAO;
this.cache = cache;
ApplicationSettings settings = config.getApplicationSettings();
int threads = Math.max(settings.getDatabaseUpdateThreads(), 1);
pool = new FeedRefreshExecutor("feed-refresh-updater", threads, Math.min(50 * threads, 1000), metrics);
locks = Striped.lazyWeakLock(threads * 100000);
entryCacheMiss = metrics.meter(MetricRegistry.name(getClass(), "entryCacheMiss"));
entryCacheHit = metrics.meter(MetricRegistry.name(getClass(), "entryCacheHit"));
feedUpdated = metrics.meter(MetricRegistry.name(getClass(), "feedUpdated"));
entryInserted = metrics.meter(MetricRegistry.name(getClass(), "entryInserted"));
}
示例2: Oplog
import com.google.common.util.concurrent.Striped; //导入依赖的package包/类
public Oplog(RowUpdateFactory rowUpdateFactory) {
this.locks = Striped.lock(GlobalContext.getLockPoolSize());
this.oplogPartitionMaps = new ArrayList<>();
for (int i = 0; i < GlobalContext.getNumLocalCommChannels(); i++) {
this.oplogPartitionMaps.add(new TIntObjectHashMap<OplogPartition>());
ArrayList<Integer> serverIds = GlobalContext.getServerThreadIDs(i);
for (int serverId : serverIds) {
this.oplogPartitionMaps.get(i).put(serverId,
new SparseOplogPartition(rowUpdateFactory));
}
}
}
示例3: UnfiredCandidateActions
import com.google.common.util.concurrent.Striped; //导入依赖的package包/类
@Inject
UnfiredCandidateActions(BrowserConfiguration config, Provider<StateFlowGraph> sfg,
MetricRegistry registry) {
this.sfg = sfg;
cache = Maps.newHashMap();
statesWithCandidates = Queues.newLinkedBlockingQueue();
// Every browser gets a lock.
locks = Striped.lock(config.getNumberOfBrowsers());
crawlerLostCount =
registry.register(MetricsModule.EVENTS_PREFIX + "crawler_lost", new Counter());
unfiredActionsCount =
registry.register(MetricsModule.EVENTS_PREFIX + "unfired_actions", new Counter());
}
示例4: StripedLocks
import com.google.common.util.concurrent.Striped; //导入依赖的package包/类
public StripedLocks(int stripesCount) {
striped = Striped.readWriteLock(stripesCount);
}
示例5: DefaultBrokerCache
import com.google.common.util.concurrent.Striped; //导入依赖的package包/类
public DefaultBrokerCache() {
this.sharedResourceCache = CacheBuilder.newBuilder().build();
this.autoScopeCache = CacheBuilder.newBuilder().build();
this.invalidationLock = Striped.lazyWeakLock(20);
}
示例6: StripedKeyedLocker
import com.google.common.util.concurrent.Striped; //导入依赖的package包/类
public StripedKeyedLocker(int stripes) {
locks = Striped.readWriteLock(stripes);
}