코루틴(Coroutine)대신 쓰레드(Thread)를 사용해야하는 이유
Coroutine을 사용하는 경우와 Thread를 사용하면 좋은 경우에 대해서 간략하게 포스팅한다.
Unity API는 스레드로부터 안전하지 않고 제한 없이 Thread를 생성이 가능하다.
Unity API는 Main Thread에서 호출되어야하기 때문에 Coroutine 이 이에 해당한다.
Unity Corotine은 동시성이 존재하고 Thread는 병렬성이 존재하는 특징으로 간단하게 생각하면
Main Thread에서 호출되어야하는 일이 아닌 복잡하고 병렬로 로드가 필요한 Work를 Thread로 사용하면 좋다.
반응형
Thread를 생성해서 사용하는것도 비용이 들기 때문에 신중하게 고려하고 Main Thread에 동기화되는 시점도 고려해야 하기 때문에 이해하고 사용해야한다.
< Thread를 사용하는 것이 유용한 경우 >
AI
PathFinding
Network Commuication
File Operations
Unity Support - Why should I use Threads instead of Coroutines ? : [링크]
Unity Coroutine : [링크]
Unity C# Job System (What is multithreading) : [링크]
★☆☆☆☆
반응형
댓글