song.log

[자바 기술면접] 19. 프로세스(Process) vs 스레드(Thread) 본문

StudyLog/Java interview

[자바 기술면접] 19. 프로세스(Process) vs 스레드(Thread)

SingaKorean 2023. 4. 29. 18:03
반응형

- 정의

프로세스 : 운영체제에서 할당하는 작업의 단위로 독립적인 메모리 공간을 할당받아 실행됩니다. 프로세스는 각자의 주소 공간과 데이터 스택을 가지며, 다른 프로세스의 변수나 자료에 직접 접근할 수 없습니다. 각가의 프로세스는 독립적으로실행되기 때문에, 하나의 프로세스에서 문제가 발생하더라도 다른 프로세스에는 영향을 미치지 않습니다.

 

스레드 : 하나의 프로세스 내에서 실행되는 여러 실행 흐름의 단위입니다. 스레드는 프로세스의 주소 공간을 공유하며, 데이터 스택과 PC레지스터만 따로 가지고 있습니다. 즉, 같은 프로세스 내에서 여러개의 스레드가 동시에 작업을 수행할 수 있습니다.

 

 

- 영어 정리 :

Process : An instance of a program that is being executed by a computer. A process can be thought of as a container for a set of resources used when executing a program, such as memory, file handles, and system resources. Each process has its own memory space and runs independently of other processes.

Thread : A component of a process. A thread is a lightweight unit of execution within a process that can be scheduled for execution. Each thread shares the same memory space as the process and other threads within the process, but has its own execution stack and program counter. Multiple threads within a process can run concurrently and share the resources of the process.

 

In summary, a process is a container for a set of resources used when executing a program, while a thread is a unit of execution within a process that can be scheduled for execution and shares the same memory space as the process and other threads within the process.

반응형
Comments