특정한 작업을 처리하기 위해 프로세스를 여러개 만드는 것(여러개의 프로그램 실행)
독립 적인 주소 공간으로 인해 안정성이 높다
but 프로세스간 전환 비용이 많이 들어 효율이 떨어진다.
특정한 작업을 처리하기 위해 한 프로세스 안에서 스레드를 여러개 만드는 것
자원 효율성 증대
처리 비용 감소 및 응답 시간 단축
But 스레드간 자원 공유는 전역 변수를 이용하므로 함께 사용할 경우 충돌이 발생할 수 있다.
동기화로 해결 → 자원에 대한 접근 순서 컨트롤 → 이로 인한 병목 현상 발생할 수 있으며 성능까지 저하됨