UE5线程进阶(3-1):

(62)老师的教学大纲

(63)

(64)老师讲解的第二版代码

cpp 复制代码
	FGraphEventRef task1 = FFunctionGraphTask::CreateAndDispatchWhenReady([]() {
		FPlatformProcess::Sleep(1);
		UE_LOG(LogTemp, Warning, TEXT("task1执行了") );
		});

	FGraphEventArray task2Prerequisites;
	task2Prerequisites.Add(task1);

	FGraphEventRef task2 = FFunctionGraphTask::CreateAndDispatchWhenReady([]() {
		FPlatformProcess::Sleep(2);
		UE_LOG(LogTemp, Warning, TEXT("task2执行了"));
		}, TStatId(), & task2Prerequisites);

	FGraphEventArray task3Prerequisites;
	task3Prerequisites.Add(task1);

	FGraphEventRef task3 = FFunctionGraphTask::CreateAndDispatchWhenReady([]() {
		FPlatformProcess::Sleep(3);
		UE_LOG(LogTemp, Warning, TEXT("task3执行了"));
		}, TStatId(), & task3Prerequisites);

	FGraphEventArray task4Prerequisites;
	task4Prerequisites.Add(task2);
	task4Prerequisites.Add(task3);

	FGraphEventRef task4 = FFunctionGraphTask::CreateAndDispatchWhenReady([]() {
		FPlatformProcess::Sleep(4);
		UE_LOG(LogTemp, Warning, TEXT("task4执行了"));
		}, TStatId(), & task4Prerequisites);

	FGraphEventArray task5Prerequisites;
	task5Prerequisites.Add(task2);

	FGraphEventRef task5 = FFunctionGraphTask::CreateAndDispatchWhenReady([]() {
		FPlatformProcess::Sleep(5);
		UE_LOG(LogTemp, Warning, TEXT("task5执行了"));
		}, TStatId(), & task5Prerequisites);

	FGraphEventArray task6Prerequisites;
	task6Prerequisites.Add(task4);
	task6Prerequisites.Add(task5);

	FGraphEventRef task6 = FFunctionGraphTask::CreateAndDispatchWhenReady([]() {
		FPlatformProcess::Sleep(6);
		UE_LOG(LogTemp, Warning, TEXT("task6执行了"));
		}, TStatId(), & task6Prerequisites);

	FGraphEventArray task7Prerequisites;
	task7Prerequisites.Add(task6);

	FGraphEventRef task7 = FFunctionGraphTask::CreateAndDispatchWhenReady([]() {
		FPlatformProcess::Sleep(7);
		UE_LOG(LogTemp, Warning, TEXT("task7执行了"));
		}, TStatId(), & task7Prerequisites);

	UE_LOG(LogTemp, Warning, TEXT("UMyGameInstanceSubsystem::startThread() 执行了"));

++ 实现的是这样的效果

(65) 大纲

(66)

++

++

(67)

谢谢

相关推荐
zhangzhangkeji8 小时前
UE5线程进阶(2-3):enum ENamedThreads命名空间 :: Type : int32 { RHIThread = 0 } 是渲染硬件接口线程
ue5
zhangzhangkeji1 天前
UE5线程进阶(2-1):枚举类EAsyncExecution,作业类TAsyncRunnable、TAsyncQueuedWork,及全局线程函数 Async(..),及线程调用的 4 种方法总结
ue5
zhangzhangkeji2 天前
UE5线程进阶(1):
ue5
yblackd5 天前
UnrealEngine Win风格 窗口选择打开文件
c++·ue5·虚幻
AI视觉网奇6 天前
ue 推送直播流 推流 linux 实战
笔记·学习·ue5
郁闷的网纹蟒6 天前
虚幻5---第16部分---敌人(中)
开发语言·c++·ue5·游戏引擎·虚幻
爱搞虚幻的阿恺6 天前
Niagara粒子系统-超炫酷的闪电特效(第一期 粒子的朝向与对齐)
游戏·ue5·游戏引擎·虚幻
暮志未晚Webgl6 天前
UE5实现游戏中英文切换的本地化功能
游戏·ue5
郁闷的网纹蟒6 天前
虚幻5---第15部分---宝藏(掉落物)
开发语言·c++·ue5·游戏引擎·虚幻