MCPcopy Create free account
hub / github.com/ChunelFeng/CGraph / run

Function run

src/UtilsCtrl/ThreadPool/Thread/UThreadPrimary.h:69–88  ·  view source on GitHub ↗

* 线程执行函数 * @return */

Source from the content-addressed store, hash-verified

67 * @return
68 */
69 CStatus run() final {
70 CGRAPH_FUNCTION_BEGIN
71 CGRAPH_ASSERT_INIT(true)
72 CGRAPH_ASSERT_NOT_NULL(pool_threads_)
73
74 /**
75 * 线程池中任何一个primary线程为null都不可以执行
76 * 防止线程初始化失败的情况,导致的崩溃
77 * 理论不会走到这个判断逻辑里面
78 */
79 if (std::any_of(pool_threads_->begin(), pool_threads_->end(),
80 [](const UThreadPrimary* thd) {
81 return nullptr == thd;
82 })) {
83 CGRAPH_RETURN_ERROR_STATUS("primary thread is null")
84 }
85
86 loopProcess();
87 CGRAPH_FUNCTION_END
88 }
89
90
91 CVoid processTask() override {

Callers 9

GEventObject.hFile · 0.50
GPipelineManager.hFile · 0.50
processMethod · 0.50
asyncRunMethod · 0.50
GElementManager.hFile · 0.50
fatProcessorMethod · 0.50
asyncRunMethod · 0.50
GStageObject.hFile · 0.50

Calls 2

CGRAPH_ASSERT_NOT_NULLFunction · 0.85
loopProcessFunction · 0.85

Tested by

no test coverage detected