IEnumerator Manager()
{
yield return Task1();
yield return Task2();
}
IEnumerator Task1()
{
yield return null;
}
{
yield return Task1();
yield return Task2();
}
IEnumerator Task1()
{
yield return null;
}
์ฝ๋ฃจํด์์๋ ์ด๋ ๊ฒ yield return Task๋ฅผ ํ๋ฉด ํด๋น Task๊ฐ ์ข ๋ฃ๋ ์ดํ ๋ค์ ๋ช ๋ น๋ฌธ์ ์คํํ๋๋ฐ ์ด๊ฑธ ์ ๋ํ ์คํฌ์์ ๊ตฌํํ๊ณ ์ถ์ต๋๋ค. ์ผ๋จ ์ฒ์ ์๋ํ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. (Task1, Task2๋ ์์๋ก ์์ฑํ ์ฝ๋์ ๋๋ค!)
async UniTaskVoid Manager()
{
await Task1();
await Task2();
}
async UniTaskVoid Task1()
{
await UniTask.Delay(1);
}
async UniTaskVoid Task2()
{
await UniTask.Delay(1);
}
{
await Task1();
await Task2();
}
async UniTaskVoid Task1()
{
await UniTask.Delay(1);
}
async UniTaskVoid Task2()
{
await UniTask.Delay(1);
}
๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ํ๋๋ Manager์ await ๋ถ๋ถ์ ๋นจ๊ฐ ์ค์ด ์ณ์ง๋๊ตฐ์. ๋ ๋ฒ์งธ๋ก ์๋ํ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
async UniTaskVoid Manager()
{
await Task1();
await Task2();
}
IEnumerator Task1()
{
yield return null;
}
IEnumerator Task2()
{
yield return null;
}
{
await Task1();
await Task2();
}
IEnumerator Task1()
{
yield return null;
}
IEnumerator Task2()
{
yield return null;
}
์ด๋ ๊ฒ ์ฐ๋๊น ์ผ๋จ ์ค๋ฅ๋ ์๋๋ค์. ๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ์ฐ๋๊ฑด ๋ญ๊ฐ ์๋๊ฑฐ๊ฐ์ต๋๋ค. ๊ทธ๋์ ๋ค์ ํ๋ฒ ์์ ํด ๋ดค๋๋ฐ ์ด๋ ๊ฒ ์ฐ๋๊ฒ ๋ง๋์?
async UniTaskVoid Manager()
{
await Task.Run(() => Task1().Forget());
await Task.Run(() => Task2().Forget());
}
async UniTaskVoid Task1()
{
await UniTask.Delay(1);
}
async UniTaskVoid Task2()
{
await UniTask.Delay(1);
await Task.Run(() => Task1().Forget());
await Task.Run(() => Task2().Forget());
}
async UniTaskVoid Task1()
{
await UniTask.Delay(1);
}
async UniTaskVoid Task2()
{
await UniTask.Delay(1);
}
์ ํด๊ฒฐํ์ต๋๋ค Task.Run ์ฐ๋๊น ์๋ํ๋ค์ - dc App
Task.Run ์ฌ์ฉํ์ง ๋ง์๊ณ UnitaskVoid ๋ฆฌํดํ์ UniTask๋ก ๋ฐ๊ฟ์ฃผ์ธ์. ๊ทธ๋ฌ๊ณ await Task1(); ํด์ฃผ์๋ฉด ์ ์คํ๋ ๊ฑฐ์. ์ปดํ์ผ ์๋ฌ๋ด์ฉ์ ์ ํ์ธํด๋ณด์์. ๊ทธ๋ฆฌ๊ณ Task๋ง๊ณ UniTask์ Task ๋ฉ์๋๋ค ๋ค ๊ตฌํ๋์์ผ๋ UniTask๋ฅผ ์ฌ์ฉํ๋๊ฒ.
๊ฐ์ฌํฉ๋๋ค! ์๊ทธ๋๋ ์ ์๋ํ์ง ์์์ ๋ค์ ์ง๋ฌธํ๋ ค๋ ์ฐธ์ ์ด๋ ๊ฒ ์ข์ ๋ต๋ณ์ด ์๋ค์ใ ใ ์ข์ ํ๋ฃจ ๋ณด๋ด์ธ์!
์ฌ์ฉํ์๋ค ์ด๋ ค์ด ๋ถ๋ถ ์์ผ๋ฉด ์ธ์ ๋ ์ง ์ง๋ฌธํ๋๊ฑฐ์์. ์๋ฃ๊ฐ ๋ณ๋ก ์๋ค๋ณด๋ ์ฌ์ฉ์๊ฐ ๋ง์์ง๋ฉด ์ข๊ฒ ์ด์. ๋ฐ๋ปํ ๋ง์ ๊ฐ์ฌํ๋ฉฐ ์ ์ฌ ๋ง์๊ฒ ๋์ธ์ !