(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)
谢谢