虚幻引擎 FQueuedThreadPool 任务数量获取方法
在虚幻引擎中,可以使用以下代码来获取一个 FQueuedThreadPool 当前的任务数量:
#include "HAL/RunnableThread.h"
FQueuedThreadPool* ThreadPool = FQueuedThreadPool::Allocate();
// 假设 ThreadPool 已经初始化并在运行中
int32 NumTasks = 0;
// 获取任务数量
FQueuedThreadPoolStats Stats = ThreadPool->GetStats();
NumTasks = Stats.NumTasks.GetValue();
// 输出任务数量
UE_LOG(LogTemp, Warning, TEXT("当前任务数量: %d"), NumTasks);
以上代码首先创建一个 FQueuedThreadPool 对象,并假设该对象已经初始化并在运行中。然后,通过调用 GetStats() 函数来获取 FQueuedThreadPool 的统计信息,包括任务数量。
FQueuedThreadPoolStats 结构体包含了一个名为 NumTasks 的 TAtomic 类型的成员变量,可以通过 GetValue() 函数获取具体的任务数量。
最后,使用 UE_LOG 宏输出任务数量。请注意,这是一个简化的示例代码,实际情况可能需要根据具体需求进行适当的修改和调整。
原文地址: https://www.cveoy.top/t/topic/o4Zh 著作权归作者所有。请勿转载和采集!