멀티쓰레딩은 여러 프로세스가 동시에 실행되는 멀티 태스킹과 달리 하나의 프로세스 내에서 여러 작업을 여러 쓰레드를 통해 동시에 실행할 수 있도록 하는 방식이다. 쓰레드는 프로세스 내에서 실행되는 작업의 최소 단위이고, 독립적으로 실행한다. 병렬 처리를 통해 여러 작업을 동시에 처리할 수 있어 성능을 향상시킬 수 있다.같은 프로세스에서 쓰레드들이 메모리와 자원을 공유할 수 있다. 그래서 여러 쓰레드가 같은 공유 데이터에 접근하려 하면 충돌이 일어날 수 있다.자원의 경쟁으로 프로그램이 교착상태에 들어갈 수 있어 주의해야 한다. 해결하기 위한 동기화 방법으로는뮤텍스, 세마포어, 모니터 방법이 있다. 뮤텍스(Mutex) 한 번에 하나의 쓰레드만 접근을 허용하는 잠금 메커니즘이다.세마포어(Semaphore) 제한..