본문 바로가기
반응형

쓰레드2

[UNITY] 코루틴이란? 코루틴이란? 코루틴은 동시성 프로그래밍을 가능케 하도록 만든 개념(동시에 발생하지는 않는다.)으로 쓰레드와 비교가 많이 되지만 함수이다. 별도의 쓰레드 없이 메인 쓰레드 상에서 별도의 쓰레드가 있는것 처럼 번갈아 가며 병렬처리나 유사한 동작을 수행할 수 있다. 쓰레드와 비슷하게 동시성을 보장하기위한 기술이다. 하지만 쓰레드와 코루틴은 다른 개념이다. 여러개의 작업을 동시에 수행할 때 Thread는 각 작업에 해당하는 메모리 영역을 할당하는데, 여러 작업을 동시에 수행해야 하므로 OS레벨에서 스케쥴링을 필요로 한다. 코루틴은 lightweight Thread라고 불리며 작업을 효율적으로 분배하여 수행함에 있어 각 작업에 대해 Thread할당이 아닌 Object만을 할당하고, 이 Object를 자유자재로 스.. 2022. 6. 7.
프로세스와 쓰레드의 차이 프로세스는 간단히 말하면 실행중인 프로그램이다. 쓰레드는 경량화된 프로세스다 프로세스 안에 쓰레드가 포함되어 있다고 생각하면 된다. 운영체제는 자원을 효율적으로 사용하려고 한다. 쓰레드를 사용하면 프로세스에 비해 생성할때 오버헤드도 적고 공유된 자원에 대해서도 오버헤드가 적다. 그리고 쓰레드를 이용하면 병렬성을 높일 수 있다(멀티 쓰레드, 다중 쓰레드). 하지만 쓰레드를 많이 사용하면(남발하여,,,) 모든 쓰레드를 스케쥴링 해야하며, 쓰레드 하나가 프로세스의 자원을 잘못 건드렸을 시 프로세스가 죽을 수 있다. 쓰레드를 효과적으로 사용하면 최적화에 용이하게 쓸 수 있다. 2022. 5. 30.
반응형