프로세스가 메모리에 올라갈 때 운영체제로부터 시스템 자원을 할당 받는데 이 때 운영체제는 프로세스마다 각각 독립된 메모리 영역을, Code/Data/Stack/Heap의 형식으로 할당해주는데 이처럼 각각의 독립된 영역을 할당해 주기 때문에 프로세스는 다른 프로세스의 변수나 자료에 접근할 수 없다.
하지만 스레드는 메모리를 서로 공유할 수 있어서, 각각의 스레드는 별도의 스택을 가지고 있지만 Heap 메모리는 서로 공유해서 읽고 쓸 수 있게 되기에 이러한 차이점이 있다.
그러므로 프로세스의 경우 실행 중 오류가 발생해 강제 종료가 된다면 다른 프로세스에 어떠한 영향도 주지 않지만 스레드의 경우엔 하나의 스레드가 오류로 인해 강제 종료된다면 다른 스레드도 모두 강제 종료가 된다.