스레드의 차단은 스레드가 작업이 완료될 때까지 다른 작업을 수행하지 못하고 기다리는 상태를 뜻함.
스레드 차단의 발생 상황
I/O작업 : 파일을 읽거나 쓰거나, 네트워크를 통해 데이터를 전송하거나 받는 등의 작업을 수행할 때 발생 (스레드는 데이터가 읽혀지거나 쓰여질 때까지차단됨)
동기적인 작업 : 다른 스레드가 완료될 때까지 기다리는 경우 (스레드 A가 스레드 B가 완료될 때까지 기다리는 상황이라면, 스레드 A는 스레드 B가 작업을 완료할 때까지 차단) 스레드를 메서드로 빗대어 예시를 들어보자면 위와 같이 작성되었을 경우, A 메서드 시작 > A 메서드 차단 > B 메서드 시작 > B 메서드 종료 > A 메서드 종료가 된다.
락(Lock) 획득 : 스레드가 특정 락을 획독하기 위해 대기하는 경우 (다른 스레드가 해당 락을 해제할 때까지 스레드는 차단 상태)