Default JobSystem backend: a dependency-aware scheduler over the existing ThreadPool worker pool. 更多...
#include <JobSystemThreadPool.h>
类 | |
| struct | State |
Public 成员函数 | |
| JobSystemThreadPool (int workerCount) | |
| Constructs a JobSystemThreadPool. | |
| ~JobSystemThreadPool () override | |
| Releases JobSystemThreadPool resources. | |
| JobSystemThreadPool (const JobSystemThreadPool &)=delete | |
| JobSystemThreadPool & | operator= (const JobSystemThreadPool &)=delete |
| int | getWorkerCount () const override |
| Returns the worker count. | |
| bool | isRunning () const override |
| True when running. | |
| int | getPendingCount () const override |
| Returns the pending count. | |
| int | getOutstandingCount () const override |
| Returns the outstanding count. | |
| Job * | submit (JobFunc body) override |
| Submit. | |
| Job * | createJob (JobFunc body) override |
| Creates job. | |
| void | schedule (Job *job) override |
| Schedule. | |
| Job * | parallelFor (int first, int last, ParallelForBody body, int chunk=1) override |
| Parallel for. | |
| TaskGroup * | createTaskGroup () override |
| Creates task group. | |
| Job * | submitFrame (JobFunc body) override |
| Submit frame. | |
| Job * | createFrameJob (JobFunc body) override |
| Creates frame job. | |
| Job * | parallelForFrame (int first, int last, ParallelForBody body, int chunk=1) override |
| Parallel for frame. | |
| TaskGroup * | createFrameTaskGroup () override |
| Creates frame task group. | |
| void | beginFrame () override |
| Begins frame. | |
| void | endFrame () override |
| Ends frame. | |
| void | waitAll () override |
| Waits all. | |
| void | stop () override |
| Stops . | |
Public 成员函数 继承自 eve::thread::JobSystem | |
| virtual | ~JobSystem ()=default |
| Releases JobSystem resources. | |
详细描述
Default JobSystem backend: a dependency-aware scheduler over the existing ThreadPool worker pool.
The ThreadPool keeps its FIFO + CV worker model unchanged; this class uses it purely as the worker-thread provider. Job scheduling (dependencies, ready queue, fork/join help-execution, per-frame arena) lives here, so replacing the backend with TBB does not touch any engine code that uses JobSystem.
在文件 JobSystemThreadPool.h 第 24 行定义.
构造及析构函数说明
◆ JobSystemThreadPool() [1/2]
|
explicit |
◆ ~JobSystemThreadPool()
|
override |
Releases JobSystemThreadPool resources.
在文件 JobSystemThreadPool.cpp 第 542 行定义.
◆ JobSystemThreadPool() [2/2]
|
delete |
成员函数说明
◆ beginFrame()
|
overridevirtual |
◆ createFrameJob()
◆ createFrameTaskGroup()
|
overridevirtual |
Creates frame task group.
在文件 JobSystemThreadPool.cpp 第 652 行定义.
◆ createJob()
◆ createTaskGroup()
|
overridevirtual |
◆ endFrame()
|
overridevirtual |
◆ getOutstandingCount()
|
overridevirtual |
◆ getPendingCount()
|
overridevirtual |
◆ getWorkerCount()
|
overridevirtual |
◆ isRunning()
|
overridevirtual |
◆ operator=()
|
delete |
◆ parallelFor()
|
overridevirtual |
Parallel for.
在文件 JobSystemThreadPool.cpp 第 622 行定义.
◆ parallelForFrame()
|
overridevirtual |
Parallel for frame.
在文件 JobSystemThreadPool.cpp 第 648 行定义.
◆ schedule()
|
overridevirtual |
◆ stop()
|
overridevirtual |
◆ submit()
◆ submitFrame()
◆ waitAll()
|
overridevirtual |
该类的文档由以下文件生成:
- src/modules/thread/JobSystemThreadPool.h
- src/modules/thread/JobSystemThreadPool.cpp
Public 成员函数 继承自