프로그램을 실행하면 OS로부터 실행에 필요한 자원을 할당받아 프로세스가 된다. 쓰레드는 프로세스를 구성하는 것 중 하나이다. 프로세스의 자원을 이용하여 실제로 작업을 수행하는 역할이다. 모든 프로세스에는 하나 이상의 쓰레드가 존재한다. 쓰레드가 하나일 때 싱글 쓰레드, 둘 이상일 때 멀티 쓰레드라고 부른다. 멀티 쓰레딩의 장점으로는 CPU의 사용률을 향상시키고, 자원을 보다 효율적으로 사용할 수 있고, 사용자에 대한 응답성이 향상되고, 작업이 분리되어 코드가 간결해진다는 점 등이 있다. 그러나 이에 장점만 있는 것은 아니다. 하나의 쓰레드에 문제가 생기면 전체 프로세스에 영향을 주기도 하며, 쓰레드를 많이 생성할 경우 잦은 전환(Context Swiching)으로 인해 성능 저하가 발생할 수 있다. 또 ..