두 개 이상의 작업이 동시에 진행되고 있지만 꼭 동시에 실행될 필요는 없다. 즉, 작업들이 번갈아 가면서 일부분씩 실행될 수 있다.
작업이 정말로 동시에 실행되는 경우를 말한다.
메서드 호출이 끝날 때까지 호출한 쪽이 기다려야 함.
메서드를 호출하고 나서 바로 다른 일을 할 수 있고, 메서드의 완료는 다른 방법(콜백, Future, 메시지 등)으로 알려줌.
한 스레드의 지연이 다른 스레드의 지연을 무한히 발생시킬 수 있음.
어떤 스레드도 다른 스레드를 무한히 지연시키지 않음.
여러 참가자가 서로를 기다리고 있어서 아무도 진행할 수 없는 상태
몇몇 참가자는 진행할 수 있지만, 하나 이상의 참가자는 그렇지 못한 상태
참가자들이 지속적으로 상태를 변경하지만 아무도 진행하지 못하는 상태
이벤트의 순서에 대한 가정이 외부의 불확실한 요인에 의해 위반될 수 있는 상황
모든 호출이 유한한 단계 내에 끝남
무한히 많은 호출 중에 몇 개는 유한한 단계 내에 끝남
다른 스레드가 방해하지 않을 때 유한한 단계 내에 끝남