[C#] Thread, Task, Coroutine
Thread : 프로세스 보다 작은 실행 단위, 그래서 우스갯 소리로 서브 프로세스라고 한다. 하나의 프로세스 안의 여러 스래드가 메모리를 공유하여 코드를 실행한다. 물론 여기서 발생하는 문제가 상당히 많다...Task : 원래는 비동기 작업을 추상화해서 만든 클래스이다. 다만 안에서 내부적으로 Thread의 Pool을 만들어서 (Object Pooling 패턴 참고.) 작업을 처리하게 되므로, 쓰레드에 비해서 개발자가 지지고 볶을 필요가 없게 되었다. 더불어 Await/Async를 지원하기에 비동기 프로그래밍을 구현한다. 스레드와 테스크의 메서드나 플래그에 대해서는, 다른 블로그에서 아주 친절하고 자세하게 설명하고 있으므로 생략한다. 다만 이 포스트에서는 Thread를 사용할 때의 몇가지 유의사항에 대..
2025.02.26