CGraph
Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
UThreadPoolConfig Struct Reference

具体值含义,参考UThreadPoolDefine.h文件;支持配置以下项目: default_thread_size_: 默认开启主线程个数 secondary_thread_size_: 默认开启辅助线程个数 max_thread_size_: 最大线程个数 max_task_steal_range_: 盗取机制相邻范围 max_local_batch_size_: 批量执行本地任务最大值 max_pool_batch_size_: 批量执行通用任务最大值 max_steal_batch_size_: 批量盗取任务最大值 primary_thread_busy_epoch_: 主线程进入wait状态的轮数,数值越大,理论性能越高,但空转可能性也越大 primary_thread_empty_interval_: 主线程进入休眠状态的默认时间 secondary_thread_ttl_: 辅助线程ttl,单位为s monitor_span_: 监控线程执行间隔,单位为s queue_emtpy_interval_: 队列为空时,等待的时间。仅针对辅助线程,单位为ms primary_thread_policy_: 主线程调度策略 secondary_thread_policy_: 辅助线程调度策略 primary_thread_priority_: 主线程调度优先级(取值范围0~99,配合调度策略一起使用,不建议不了解相关内容的童鞋做修改) secondary_thread_priority_: 辅助线程调度优先级(同上) bind_cpu_enable_: 是否开启绑定cpu模式(仅针对主线程) batch_task_enable_: 是否开启批量任务功能 monitor_enable_: 是否开启监控程序 More...

#include <UThreadPoolConfig.h>

Inheritance diagram for UThreadPoolConfig:
Inheritance graph
[legend]
Collaboration diagram for UThreadPoolConfig:
Collaboration graph
[legend]

Public Member Functions

CStatus check () const
 
- Public Member Functions inherited from CStruct
virtual ~CStruct ()=default
 

Public Attributes

CInt default_thread_size_ = CGRAPH_DEFAULT_THREAD_SIZE
 
CInt secondary_thread_size_ = CGRAPH_SECONDARY_THREAD_SIZE
 
CInt max_thread_size_ = CGRAPH_MAX_THREAD_SIZE
 
CInt max_task_steal_range_ = CGRAPH_MAX_TASK_STEAL_RANGE
 
CInt max_local_batch_size_ = CGRAPH_MAX_LOCAL_BATCH_SIZE
 
CInt max_pool_batch_size_ = CGRAPH_MAX_POOL_BATCH_SIZE
 
CInt max_steal_batch_size_ = CGRAPH_MAX_STEAL_BATCH_SIZE
 
CInt primary_thread_busy_epoch_ = CGRAPH_PRIMARY_THREAD_BUSY_EPOCH
 
CMSec primary_thread_empty_interval_ = CGRAPH_PRIMARY_THREAD_EMPTY_INTERVAL
 
CSec secondary_thread_ttl_ = CGRAPH_SECONDARY_THREAD_TTL
 
CSec monitor_span_ = CGRAPH_MONITOR_SPAN
 
CMSec queue_emtpy_interval_ = CGRAPH_QUEUE_EMPTY_INTERVAL
 
CInt primary_thread_policy_ = CGRAPH_PRIMARY_THREAD_POLICY
 
CInt secondary_thread_policy_ = CGRAPH_SECONDARY_THREAD_POLICY
 
CInt primary_thread_priority_ = CGRAPH_PRIMARY_THREAD_PRIORITY
 
CInt secondary_thread_priority_ = CGRAPH_SECONDARY_THREAD_PRIORITY
 
CBool bind_cpu_enable_ = CGRAPH_BIND_CPU_ENABLE
 
CBool batch_task_enable_ = CGRAPH_BATCH_TASK_ENABLE
 
CBool monitor_enable_ = CGRAPH_MONITOR_ENABLE
 

Protected Member Functions

int calcStealRange () const
 

Friends

class UThreadPrimary
 
class UThreadSecondary
 

Detailed Description

具体值含义,参考UThreadPoolDefine.h文件;支持配置以下项目: default_thread_size_: 默认开启主线程个数 secondary_thread_size_: 默认开启辅助线程个数 max_thread_size_: 最大线程个数 max_task_steal_range_: 盗取机制相邻范围 max_local_batch_size_: 批量执行本地任务最大值 max_pool_batch_size_: 批量执行通用任务最大值 max_steal_batch_size_: 批量盗取任务最大值 primary_thread_busy_epoch_: 主线程进入wait状态的轮数,数值越大,理论性能越高,但空转可能性也越大 primary_thread_empty_interval_: 主线程进入休眠状态的默认时间 secondary_thread_ttl_: 辅助线程ttl,单位为s monitor_span_: 监控线程执行间隔,单位为s queue_emtpy_interval_: 队列为空时,等待的时间。仅针对辅助线程,单位为ms primary_thread_policy_: 主线程调度策略 secondary_thread_policy_: 辅助线程调度策略 primary_thread_priority_: 主线程调度优先级(取值范围0~99,配合调度策略一起使用,不建议不了解相关内容的童鞋做修改) secondary_thread_priority_: 辅助线程调度优先级(同上) bind_cpu_enable_: 是否开启绑定cpu模式(仅针对主线程) batch_task_enable_: 是否开启批量任务功能 monitor_enable_: 是否开启监控程序

Member Function Documentation

◆ calcStealRange()

int UThreadPoolConfig::calcStealRange ( ) const
inlineprotected

计算可盗取的范围,盗取范围不能超过默认线程数-1

Returns

◆ check()

CStatus UThreadPoolConfig::check ( ) const
inline

Friends And Related Function Documentation

◆ UThreadPrimary

friend class UThreadPrimary
friend

◆ UThreadSecondary

friend class UThreadSecondary
friend

Member Data Documentation

◆ batch_task_enable_

CBool UThreadPoolConfig::batch_task_enable_ = CGRAPH_BATCH_TASK_ENABLE

◆ bind_cpu_enable_

CBool UThreadPoolConfig::bind_cpu_enable_ = CGRAPH_BIND_CPU_ENABLE

◆ default_thread_size_

CInt UThreadPoolConfig::default_thread_size_ = CGRAPH_DEFAULT_THREAD_SIZE

具体值含义,参考UThreadPoolDefine.h文件

◆ max_local_batch_size_

CInt UThreadPoolConfig::max_local_batch_size_ = CGRAPH_MAX_LOCAL_BATCH_SIZE

◆ max_pool_batch_size_

CInt UThreadPoolConfig::max_pool_batch_size_ = CGRAPH_MAX_POOL_BATCH_SIZE

◆ max_steal_batch_size_

CInt UThreadPoolConfig::max_steal_batch_size_ = CGRAPH_MAX_STEAL_BATCH_SIZE

◆ max_task_steal_range_

CInt UThreadPoolConfig::max_task_steal_range_ = CGRAPH_MAX_TASK_STEAL_RANGE

◆ max_thread_size_

CInt UThreadPoolConfig::max_thread_size_ = CGRAPH_MAX_THREAD_SIZE

◆ monitor_enable_

CBool UThreadPoolConfig::monitor_enable_ = CGRAPH_MONITOR_ENABLE

◆ monitor_span_

CSec UThreadPoolConfig::monitor_span_ = CGRAPH_MONITOR_SPAN

◆ primary_thread_busy_epoch_

CInt UThreadPoolConfig::primary_thread_busy_epoch_ = CGRAPH_PRIMARY_THREAD_BUSY_EPOCH

◆ primary_thread_empty_interval_

CMSec UThreadPoolConfig::primary_thread_empty_interval_ = CGRAPH_PRIMARY_THREAD_EMPTY_INTERVAL

◆ primary_thread_policy_

CInt UThreadPoolConfig::primary_thread_policy_ = CGRAPH_PRIMARY_THREAD_POLICY

◆ primary_thread_priority_

CInt UThreadPoolConfig::primary_thread_priority_ = CGRAPH_PRIMARY_THREAD_PRIORITY

◆ queue_emtpy_interval_

CMSec UThreadPoolConfig::queue_emtpy_interval_ = CGRAPH_QUEUE_EMPTY_INTERVAL

◆ secondary_thread_policy_

CInt UThreadPoolConfig::secondary_thread_policy_ = CGRAPH_SECONDARY_THREAD_POLICY

◆ secondary_thread_priority_

CInt UThreadPoolConfig::secondary_thread_priority_ = CGRAPH_SECONDARY_THREAD_PRIORITY

◆ secondary_thread_size_

CInt UThreadPoolConfig::secondary_thread_size_ = CGRAPH_SECONDARY_THREAD_SIZE

◆ secondary_thread_ttl_

CSec UThreadPoolConfig::secondary_thread_ttl_ = CGRAPH_SECONDARY_THREAD_TTL

The documentation for this struct was generated from the following file: