스레드

    프로세스, 스레드

    프로세스, 스레드

    프로세스 (Process) 프로그램은 실행중이지 않은 정적인 상태의 코드 파일이다. 운영체제는 프로그램을 실행 시키고 메모리에 올리는데 이를 프로세스라고 한다. 즉, 프로세스는 메모리에서 실행중인 프로그램의 작업이다. 프로세스는 프로그램이 메모리에 올라갈 때 독립된 메모리 영역을 할당(Code, Data, Heap, Stack) 받고 PCB라는 프로세스를 정보를 담는 블록을 받는다. 메모리 Code : 프로그램의 명령을 구성하는 코드 자체 메모리 영역 Data : static과 같은 정적 변수, 전역 변수, 배열 등을 갖는 영역 Heap : new 키워드 같은 동적으로 할당 되는 메모리 영역 Stack : 지역 변수, 파라미터, 리턴 값을 관리하는 메모리 영역 스레드 (Thread) 스레드는 프로세스의 ..

    [백기선님과 함께하는 Live-Study] 10주차) 멀티쓰레드 프로그래밍

    [백기선님과 함께하는 Live-Study] 10주차) 멀티쓰레드 프로그래밍

    ✔️ 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. ✔️ 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 💡 Thread 클래스와 Runnable 인터페이스 Thread 란? 메모리를 할당받아 프로그램(프로세스)을 실행하는 단위로서 하나의 프로세스에 여러개의 쓰레드로 구성될 수 있다. 하나의 프로세스를 구성하는 여러 쓰레드는 스택 영역을 제외한 메모리 영역을 서로 공유한다. 스택 메모리는 메소드 호출 시 전달되는 매개변수, 되돌아갈 주소값 및 메소드 내에서 선언하는 변수 등을 저장하기 위해 사용되는 메모리 공간이기 때문에 쓰레드가 스택 메모리 영역을 독립적으로 가진다는 것은 독립적으로 메소드 호출이 가능하고 독립적인..