* 线程执行函数 * @return */
| 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 { |
no test coverage detected