在虚幻引擎中,可以使用以下代码来获取一个 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 结构体包含了一个名为 NumTasksTAtomic 类型的成员变量,可以通过 GetValue() 函数获取具体的任务数量。

最后,使用 UE_LOG 宏输出任务数量。请注意,这是一个简化的示例代码,实际情况可能需要根据具体需求进行适当的修改和调整。


原文地址: https://www.cveoy.top/t/topic/o4Zh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录