프로세스 안 실행 흐름
스레드는 하나의 프로세스 자원 안에서 독립적인 실행 위치와 호출 스택을 가진다.
thread of execution스레드는 같은 프로세스 안에서 주소 공간과 파일 같은 자원을 공유하지만 스택과 레지스터, 실행 흐름은 각자 가진다.
스레드는 하나의 프로세스 자원 안에서 독립적인 실행 위치와 호출 스택을 가진다.
thread of executionheap과 전역 데이터는 함께 보이므로 빠른 통신이 가능하지만 race condition도 생긴다.
shared memory하나의 코어에서도 여러 작업이 번갈아 진행되면 동시성이 생긴다.
interleaving여러 코어에서 실제 같은 시간에 실행되면 병렬성이 생긴다.
multi-coreshared: code, heap, globals, file descriptors
per-thread: stack, registers, program counter