작업들 사이에 실행 시기를 맞추는 것, 여러 스레드가 동일한 자원(데이터)에 접근시 동기화 이슈 발생(동일 자원을 여러 스레드가 동시 수정시, 각 스레드 결과에 영향을 준다.) -> Context Switching에 의해 발생
스레드는 프로세스 모든 데이터에 접근할 수 있으니 어느 한 스레드가 특정 데이터를 변경하려ㅓ 할 때 다른 스레드가 접근하지 못하게 막는 기법
임계 영역에 대한 접근을 막기 위한 Locking 메커니즘이 필요
Mutex(binary semaphore) : 임계구역에 하나의 스레드만 들어갈 수 있음
Semaphore : 임계구역에 여러 스레드가 들어갈 수 있음
배치처리 시스템에서는 발생하지 않는 문제,프로세스/스레드 둘 다 교착상태가 일어날 수 있음
무한 대기 상태 : 2개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고 있기 때문에 다은 단게로 진행하지 못하는 상태
OS가 일정 시간 응답이 없으면 강제로 종료시킨다.
특정 프로세스의 우선순위가 낮아서 한번도 기회를 얻지 못해, 실행을 못하는 상태
프로세스 우선 순위를 수시로 변경해, 각 프로세스가 높은 우선순위를 가질 기회를 주기, 오래 기다린 프로세스의 우선순위를 높여주기, 우선순위가 아닌 요청 순서대로 처리하는 FIFO 기반 요청큐 사용