【UE5】意図的に特定のスレッドをスリープさせる

FPlatformProcess::Sleep を使うことで実行したスレッドを指定した秒数、スリープさせられます。

意図的にスリープし、他スレッドの処理や外部の処理を待ちたい場合などに使えるかと思います。

#include "HAL/PlatformProcess.h"

bool wait = true;
while (wait)
{
	FPlatformProcess::Sleep(2.f);	// 実行したスレッドを2秒間スリープさせて他の処理が終わるのを待つ

	if (CheckFinishedProcess())	// 他のスレッドの処理が終わってるかチェック
	{
		wait = false;
	}
}


FPlatformProcess::SleepInfinite で無限にスリープさせて意図的にハングアップさせることもできます。

#include "HAL/PlatformProcess.h"

FPlatformProcess::SleepInfinite();



UE Version : 5.0.0-19044958