[OS] 프로세스(Process) vs 스레드(Thread)
·
Computer Science/운영체제
프로세스와 스레드에 대해서 알아보고, 둘의 차이를 기술하려 한다.프로세스(Process)프로세스를 알아보기 전에, 프로그램과 프로세스의 차이가 무엇인지 알아보자. ✅ 프로그램(Program) : 컴퓨터에서 실행할 수 있는 파일✅ 프로세스(Process): 실행 중인 프로그램 쉽게 말하면 프로그램은 저장 장치에 있는 정적인 파일로, 아직 메모리에 적재되지 않은 상태를 의미한다.반면, 프로세스는 그 프로그램이 실행되어 메모리에 올라가 실제로 동작 중인 상태를 의미한다. 프로세스는 메모리에 Stack / Heap / Data / Text 영역으로 적재되어 실행된다. Stack: 함수 호출, 지역 변수 등 임시 데이터가 저장되는 공간. 함수 호출에 따라 자동으로 메모리가 할당/해제된다...
[Android] 스레드(Thread)
·
Android
스레드(Thread)스레드는 프로세스 내에서 실행되는 독립적인 실행 흐름, 즉 작업의 최소 단위이다.모든 프로세스는 한 개 이상의 스레드가 작업을 실행한다. 이때, 한 프로세스에서 두 개 이상의 스레드가 동시에 동작하는 것을 멀티스레드라고 한다.※ 프로세스(Process): 앱의 실행 단위 메인 스레드(UI Thread)메인 스레드는 프로세스가 시작될 때 생성되며, UI 스레드라고도 불린다.이름 그대로 메인 스레드에서는 앱의 UI를 그리는 작업을 담당한다. 이러한 메인 스레드는 주의해야 할 점이 있는데 1. UI 스레드를 차단하면 안된다.파일 다운로드처럼 오래 걸리는 작업은 작업자 스레드에서 처리해야 한다.위와 같은 작업을 메인 스레드에서 수행하면 ANR(Application Not Responding)..