本文整理汇总了C++中MemoryPool::usage_threshold方法的典型用法代码示例。如果您正苦于以下问题:C++ MemoryPool::usage_threshold方法的具体用法?C++ MemoryPool::usage_threshold怎么用?C++ MemoryPool::usage_threshold使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MemoryPool
的用法示例。
在下文中一共展示了MemoryPool::usage_threshold方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: detect_low_memory
// This method could be called from any Java threads
// and also VMThread.
void LowMemoryDetector::detect_low_memory() {
MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
bool has_pending_requests = false;
int num_memory_pools = MemoryService::num_memory_pools();
for (int i = 0; i < num_memory_pools; i++) {
MemoryPool* pool = MemoryService::get_memory_pool(i);
SensorInfo* sensor = pool->usage_sensor();
if (sensor != NULL &&
pool->usage_threshold()->is_high_threshold_supported() &&
pool->usage_threshold()->high_threshold() != 0) {
MemoryUsage usage = pool->get_memory_usage();
sensor->set_gauge_sensor_level(usage,
pool->usage_threshold());
has_pending_requests = has_pending_requests || sensor->has_pending_requests();
}
}
if (has_pending_requests) {
Service_lock->notify_all();
}
}
示例2:
// low memory detection for collected memory pools.
static inline void detect_low_memory_for_collected_pools() {
// no-op if low memory detection not enabled
if (!is_enabled_for_collected_pools()) {
return;
}
int num_memory_pools = MemoryService::num_memory_pools();
for (int i=0; i<num_memory_pools; i++) {
MemoryPool* pool = MemoryService::get_memory_pool(i);
// if low memory detection is enabled then check if the
// current used exceeds the high threshold
if (pool->is_collected_pool() && is_enabled(pool)) {
size_t used = pool->used_in_bytes();
size_t high = pool->usage_threshold()->high_threshold();
if (used > high) {
detect_low_memory(pool);
}
}
}
}