본문 바로가기
개발/Unity

Unity) 코루틴(Coroutine)대신 쓰레드(Thread)를 사용해야하는 이유

by 테샤르 2023. 12. 1.

코루틴(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 매뉴얼

코루틴을 사용하면 작업을 다수의 프레임에 분산할 수 있습니다. Unity에서 코루틴은 실행을 일시 정지하고 제어를 Unity에 반환하지만 중단한 부분에서 다음 프레임을 계속할 수 있는 메서드입니

docs.unity3d.com

 

Unity C# Job System (What is multithreading)  : [링크]

 

Unity - Manual: What is multithreading?

What is multithreading? In a single-threaded computing system, one instruction goes in at a time, and one result comes out at a time. The time to load and complete programs depends on the amount of work you need the CPU to do. Multithreading is a type of p

docs.unity3d.com

 

 

★☆☆☆☆

 

반응형

댓글