using UnityEngine;
using System.Threading.Tasks;
public class TaskTest : MonoBehaviour
{
void Start()
{
Test();
}
public async Task<string> FetchDataAsync()
{
// 비동기 작업 시뮬레이션을 위해 1초 대기
await Task.Delay(5000);
// 비동기 작업 결과 반환
return "데이터 결과";
}
private void Test()
{
PerformAsyncOperation();
}
public async void PerformAsyncOperation()
{
A();
B();
C();
// 비동기 함수 호출
string result = await FetchDataAsync();
D();
// 비동기 작업 완료 후 결과 처리
Debug.Log(result);
}
private void A()
{
Debug.Log("A");
}
private void B()
{
Invoke("InvokeTest", 3f);
}
private void C()
{
Debug.Log("C");
}
private void D()
{
Debug.Log("D");
}
private void InvokeTest()
{
Debug.Log("B");
}
}
A, B, C 함수 동시실행된다. 그것을 확인하기 위해 B에 Invoke를 사용했다. 그 결과 로그창에는 다음과 같은 순서로 출력된다.
A
C
(3초후) B
(B실행후 2초후. 총 5초 후) D
데이터결과
'유니티(Unity)' 카테고리의 다른 글
Firebase Storage MetaShop (0) | 2023.05.30 |
---|---|
MetaShopEditor (0) | 2023.05.30 |
웹소켓,TCP,패킷 (0) | 2023.03.07 |
클래스, 객체, 인스턴스 (0) | 2023.03.03 |
프로그램 패러다임 (0) | 2023.03.03 |