C# 서버 프로그래밍 - 멀티쓰레드 | 쓰레드 생성 |
Thread 실행 순서
메인이 끝난 뒤에 실행하는 것은 아니고, 동시에 실행된다.
쓰레드는 실행한 순간 자유로운 영혼이라 생각한다.
메인 쓰레드와, 새로 만든 쓰레드 양쪽에서 로그를 찍는다면,
순서를 예측할 수 없게 된다.
Thread 생성 단점과 해결
Thread 객체를 생성하는 것은 큰 부담이다.
경우에 따라
ThreadPool
단기 알바를 고용하는 관점.
Thread를 직접 관리하는 것이 아닌, ThreadPool로
간단하게 일을 처리할 수 있음.
세세하게 그 인력을 어떻게 관리할지 설정할 수 없음.
가급적이면 짧은 일을 시킬 때 사용.
Thread 풀링
창고에 Thread를 넣어뒀다가 필요하면 빼서 사용하고
필요 없으면 다시 창고에 넣어둠.
Task
직원을 고용한다는 느낌보다는
직원이 할 일감 단위를 우리가 정의해서 사용하겠다.
call back 함수
함수를 인자로 넘겨주어, 인자를 원할 때 호출해주는 함수.
댓글남기기