载入中...
搜索中...
未找到
eve::thread::JobSystemThreadPool::State结构体 参考

Public 成员函数

JobImpl * createJobLocked (JobScope scope, JobFunc body, JobFunc onComplete)
 
void scheduleLocked (JobImpl *job)
 
void enqueueLocked (JobImpl *job)
 
void runJob (JobImpl *job)
 
void completeJob (JobImpl *job, bool ok)
 
void fireCompletion (JobImpl *job)
 
void recordError (JobImpl *job, const std::string &message)
 
void releaseDependents (JobImpl *job)
 
void waitJob (JobImpl *job)
 
void waitFrameJobs ()
 
int autoChunk (int count) const
 

静态 Public 成员函数

static void workerLoop (State *state)
 

Public 属性

std::mutex mu
 
std::condition_variable cv
 
std::deque< JobImpl * > ready
 
int outstanding = 0
 
int outstandingFrame = 0
 
int completing = 0
 
int workerCount = 0
 
bool stopping = false
 
FrameArena arena
 

详细描述

在文件 JobSystemThreadPool.cpp 第 101 行定义.

成员函数说明

◆ autoChunk()

int eve::thread::JobSystemThreadPool::State::autoChunk ( int  count) const

在文件 JobSystemThreadPool.cpp 第 408 行定义.

引用了 count , 以及 target.

◆ completeJob()

void eve::thread::JobSystemThreadPool::State::completeJob ( JobImpl *  job,
bool  ok 
)

在文件 JobSystemThreadPool.cpp 第 292 行定义.

引用了 mu , 以及 ok.

◆ createJobLocked()

JobImpl * eve::thread::JobSystemThreadPool::State::createJobLocked ( JobScope  scope,
JobFunc  body,
JobFunc  onComplete 
)

在文件 JobSystemThreadPool.cpp 第 229 行定义.

引用了 arena, body, onComplete, ptr , 以及 scope.

◆ enqueueLocked()

void eve::thread::JobSystemThreadPool::State::enqueueLocked ( JobImpl *  job)

在文件 JobSystemThreadPool.cpp 第 249 行定义.

◆ fireCompletion()

void eve::thread::JobSystemThreadPool::State::fireCompletion ( JobImpl *  job)

在文件 JobSystemThreadPool.cpp 第 327 行定义.

引用了 eve::Exception::what().

◆ recordError()

void eve::thread::JobSystemThreadPool::State::recordError ( JobImpl *  job,
const std::string &  message 
)

在文件 JobSystemThreadPool.cpp 第 341 行定义.

引用了 message , 以及 mu.

◆ releaseDependents()

void eve::thread::JobSystemThreadPool::State::releaseDependents ( JobImpl *  job)

在文件 JobSystemThreadPool.cpp 第 348 行定义.

◆ runJob()

void eve::thread::JobSystemThreadPool::State::runJob ( JobImpl *  job)

在文件 JobSystemThreadPool.cpp 第 256 行定义.

引用了 mu, ok, previous , 以及 eve::Exception::what().

◆ scheduleLocked()

void eve::thread::JobSystemThreadPool::State::scheduleLocked ( JobImpl *  job)

在文件 JobSystemThreadPool.cpp 第 240 行定义.

◆ waitFrameJobs()

void eve::thread::JobSystemThreadPool::State::waitFrameJobs ( )

在文件 JobSystemThreadPool.cpp 第 390 行定义.

引用了 mu.

◆ waitJob()

void eve::thread::JobSystemThreadPool::State::waitJob ( JobImpl *  job)

在文件 JobSystemThreadPool.cpp 第 366 行定义.

引用了 mu.

◆ workerLoop()

void eve::thread::JobSystemThreadPool::State::workerLoop ( State *  state)
static

在文件 JobSystemThreadPool.cpp 第 413 行定义.

引用了 state.

类成员变量说明

◆ arena

FrameArena eve::thread::JobSystemThreadPool::State::arena

在文件 JobSystemThreadPool.cpp 第 118 行定义.

被这些函数引用 createJobLocked().

◆ completing

int eve::thread::JobSystemThreadPool::State::completing = 0

在文件 JobSystemThreadPool.cpp 第 115 行定义.

◆ cv

std::condition_variable eve::thread::JobSystemThreadPool::State::cv

在文件 JobSystemThreadPool.cpp 第 103 行定义.

◆ mu

std::mutex eve::thread::JobSystemThreadPool::State::mu
mutable

在文件 JobSystemThreadPool.cpp 第 102 行定义.

◆ outstanding

int eve::thread::JobSystemThreadPool::State::outstanding = 0

在文件 JobSystemThreadPool.cpp 第 105 行定义.

◆ outstandingFrame

int eve::thread::JobSystemThreadPool::State::outstandingFrame = 0

在文件 JobSystemThreadPool.cpp 第 106 行定义.

◆ ready

std::deque<JobImpl *> eve::thread::JobSystemThreadPool::State::ready

在文件 JobSystemThreadPool.cpp 第 104 行定义.

◆ stopping

bool eve::thread::JobSystemThreadPool::State::stopping = false

在文件 JobSystemThreadPool.cpp 第 117 行定义.

◆ workerCount

int eve::thread::JobSystemThreadPool::State::workerCount = 0

在文件 JobSystemThreadPool.cpp 第 116 行定义.


该结构体的文档由以下文件生成: